From 399056ed783e12337a9c47b06b4aae021198f1cd Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Fri, 3 Aug 2018 15:24:26 +0200 Subject: Remove dependencies on Linguist This saves about 128 MB of baseline RAM usage per Unicorn and Sidekiq process (!). Linguist wasn't detecting languages anymore from CE/EE since 9ae8b57467ac8b38f1fa9020a466d94a93cbb9dd. However, Linguist::BlobHelper was still being depended on by BlobLike and others. This removes the Linguist gem, given it isn't required anymore. EscapeUtils were pulled in as dependency, but given Banzai depends on it, it is now added explicitly. Previously, Linguist was used to detect the best ACE mode. Instead, we rely on ACE to guess the best mode based on the file extension. --- Gemfile | 4 +- Gemfile.lock | 9 +- Gemfile.rails5.lock | 9 +- app/assets/javascripts/blob_edit/blob_bundle.js | 4 +- app/assets/javascripts/blob_edit/edit_blob.js | 8 +- app/assets/javascripts/lib/ace.js | 1 + app/assets/javascripts/lib/utils/ace_utils.js | 6 + .../merge_conflicts/components/diff_file_editor.js | 3 +- app/helpers/blob_helper.rb | 2 +- app/models/blob.rb | 2 +- app/models/concerns/blob_like.rb | 2 +- changelogs/unreleased/zj-remove-linguist.yml | 5 + lib/gitlab/blob_helper.rb | 145 + lib/gitlab/conflict/file.rb | 1 - lib/gitlab/git/blob.rb | 8 +- lib/gitlab/git/blob_snippet.rb | 34 - lib/gitlab/language_data.rb | 33 + .../merge_requests/conflicts_controller_spec.rb | 1 - spec/lib/gitlab/blob_helper_spec.rb | 125 + spec/lib/gitlab/conflict/file_spec.rb | 5 - spec/lib/gitlab/git/blob_snippet_spec.rb | 19 - spec/lib/gitlab/language_data_spec.rb | 22 + vendor/languages.yml | 5488 ++++++++++++++++++++ 23 files changed, 5846 insertions(+), 90 deletions(-) create mode 100644 app/assets/javascripts/lib/utils/ace_utils.js create mode 100644 changelogs/unreleased/zj-remove-linguist.yml create mode 100644 lib/gitlab/blob_helper.rb delete mode 100644 lib/gitlab/git/blob_snippet.rb create mode 100644 lib/gitlab/language_data.rb create mode 100644 spec/lib/gitlab/blob_helper_spec.rb delete mode 100644 spec/lib/gitlab/git/blob_snippet_spec.rb create mode 100644 spec/lib/gitlab/language_data_spec.rb create mode 100755 vendor/languages.yml diff --git a/Gemfile b/Gemfile index ecbfba0827d..6772abeb49d 100644 --- a/Gemfile +++ b/Gemfile @@ -83,9 +83,6 @@ gem 'net-ldap' # Only used to compute wiki page slugs gem 'gitlab-gollum-lib', '~> 4.2', require: false -# Language detection -gem 'github-linguist', '~> 5.3.3', require: 'linguist' - # API gem 'grape', '~> 1.1' gem 'grape-entity', '~> 0.7.1' @@ -146,6 +143,7 @@ gem 'rouge', '~> 3.1' gem 'truncato', '~> 0.7.9' gem 'bootstrap_form', '~> 2.7.0' gem 'nokogiri', '~> 1.8.2' +gem 'escape_utils', '~> 1.1' # Calendar rendering gem 'icalendar' diff --git a/Gemfile.lock b/Gemfile.lock index f995d92abf0..bd95f417caa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -277,11 +277,6 @@ GEM gitaly-proto (0.118.1) google-protobuf (~> 3.1) grpc (~> 1.10) - github-linguist (5.3.3) - charlock_holmes (~> 0.7.5) - escape_utils (~> 1.1.0) - mime-types (>= 1.19) - rugged (>= 0.25.1) github-markup (1.7.0) gitlab-flowdock-git-hook (1.0.1) flowdock (~> 0.7) @@ -1006,6 +1001,7 @@ DEPENDENCIES ed25519 (~> 1.2) email_reply_trimmer (~> 0.1) email_spec (~> 2.2.0) + escape_utils (~> 1.1) factory_bot_rails (~> 4.8.2) faraday (~> 0.12) fast_blank @@ -1028,7 +1024,6 @@ DEPENDENCIES gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) gitaly-proto (~> 0.118.1) - github-linguist (~> 5.3.3) github-markup (~> 1.7.0) gitlab-flowdock-git-hook (~> 1.0.1) gitlab-gollum-lib (~> 4.2) @@ -1187,4 +1182,4 @@ DEPENDENCIES wikicloth (= 0.8.1) BUNDLED WITH - 1.16.4 + 1.16.6 diff --git a/Gemfile.rails5.lock b/Gemfile.rails5.lock index 52f9b0ccd55..8aebf78924f 100644 --- a/Gemfile.rails5.lock +++ b/Gemfile.rails5.lock @@ -280,11 +280,6 @@ GEM gitaly-proto (0.118.1) google-protobuf (~> 3.1) grpc (~> 1.10) - github-linguist (5.3.3) - charlock_holmes (~> 0.7.5) - escape_utils (~> 1.1.0) - mime-types (>= 1.19) - rugged (>= 0.25.1) github-markup (1.7.0) gitlab-flowdock-git-hook (1.0.1) flowdock (~> 0.7) @@ -1015,6 +1010,7 @@ DEPENDENCIES ed25519 (~> 1.2) email_reply_trimmer (~> 0.1) email_spec (~> 2.2.0) + escape_utils (~> 1.1) factory_bot_rails (~> 4.8.2) faraday (~> 0.12) fast_blank @@ -1037,7 +1033,6 @@ DEPENDENCIES gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) gitaly-proto (~> 0.118.1) - github-linguist (~> 5.3.3) github-markup (~> 1.7.0) gitlab-flowdock-git-hook (~> 1.0.1) gitlab-gollum-lib (~> 4.2) @@ -1196,4 +1191,4 @@ DEPENDENCIES wikicloth (= 0.8.1) BUNDLED WITH - 1.16.4 + 1.16.6 diff --git a/app/assets/javascripts/blob_edit/blob_bundle.js b/app/assets/javascripts/blob_edit/blob_bundle.js index 4e4598870fa..3cc89ff1955 100644 --- a/app/assets/javascripts/blob_edit/blob_bundle.js +++ b/app/assets/javascripts/blob_edit/blob_bundle.js @@ -13,11 +13,11 @@ export default () => { if (editBlobForm.length) { const urlRoot = editBlobForm.data('relativeUrlRoot'); const assetsPath = editBlobForm.data('assetsPrefix'); - const blobLanguage = editBlobForm.data('blobLanguage'); + const filePath = editBlobForm.data('blobFilename') const currentAction = $('.js-file-title').data('currentAction'); const projectId = editBlobForm.data('project-id'); - new EditBlob(`${urlRoot}${assetsPath}`, blobLanguage, currentAction, projectId); + new EditBlob(`${urlRoot}${assetsPath}`, filePath, currentAction, projectId); new NewCommitForm(editBlobForm); } diff --git a/app/assets/javascripts/blob_edit/edit_blob.js b/app/assets/javascripts/blob_edit/edit_blob.js index ec2b130ab7d..6e19548eed2 100644 --- a/app/assets/javascripts/blob_edit/edit_blob.js +++ b/app/assets/javascripts/blob_edit/edit_blob.js @@ -5,6 +5,7 @@ import axios from '~/lib/utils/axios_utils'; import createFlash from '~/flash'; import { __ } from '~/locale'; import TemplateSelectorMediator from '../blob/file_template_mediator'; +import getModeByFileExtension from '~/lib/utils/ace_utils'; export default class EditBlob { constructor(assetsPath, aceMode, currentAction, projectId) { @@ -14,9 +15,10 @@ export default class EditBlob { this.initFileSelectors(currentAction, projectId); } - configureAceEditor(aceMode, assetsPath) { + configureAceEditor(filePath, assetsPath) { ace.config.set('modePath', `${assetsPath}/ace`); ace.config.loadModule('ace/ext/searchbox'); + ace.config.loadModule('ace/ext/modelist'); this.editor = ace.edit('editor'); @@ -25,8 +27,8 @@ export default class EditBlob { this.editor.focus(); - if (aceMode) { - this.editor.getSession().setMode(`ace/mode/${aceMode}`); + if (filePath) { + this.editor.getSession().setMode(getModeByFileExtension(filePath)); } } diff --git a/app/assets/javascripts/lib/ace.js b/app/assets/javascripts/lib/ace.js index 9cdc0309503..e90b3d2eec7 100644 --- a/app/assets/javascripts/lib/ace.js +++ b/app/assets/javascripts/lib/ace.js @@ -1,3 +1,4 @@ /*= require ace/ace */ +/*= require ace/ext-modelist */ /*= require ace/ext-searchbox */ /*= require ./ace/ace_config_paths */ diff --git a/app/assets/javascripts/lib/utils/ace_utils.js b/app/assets/javascripts/lib/utils/ace_utils.js new file mode 100644 index 00000000000..efc4b2a8d94 --- /dev/null +++ b/app/assets/javascripts/lib/utils/ace_utils.js @@ -0,0 +1,6 @@ +/* global ace */ + +export default function getModeByFileExtension(path) { + const modelist = ace.require("ace/ext/modelist"); + return modelist.getModeForPath(path).mode; +}; diff --git a/app/assets/javascripts/merge_conflicts/components/diff_file_editor.js b/app/assets/javascripts/merge_conflicts/components/diff_file_editor.js index 425b806e9d6..a62ebe23646 100644 --- a/app/assets/javascripts/merge_conflicts/components/diff_file_editor.js +++ b/app/assets/javascripts/merge_conflicts/components/diff_file_editor.js @@ -5,6 +5,7 @@ import Vue from 'vue'; import axios from '~/lib/utils/axios_utils'; import flash from '~/flash'; import { __ } from '~/locale'; +import getModeByFileExtension from '~/lib/utils/ace_utils'; (global => { global.mergeConflicts = global.mergeConflicts || {}; @@ -72,7 +73,7 @@ import { __ } from '~/locale'; this.fileLoaded = true; this.editor = ace.edit(content); this.editor.$blockScrolling = Infinity; // Turn off annoying warning - this.editor.getSession().setMode(`ace/mode/${data.blob_ace_mode}`); + this.editor.getSession().setMode(getModeByFileExtension(data.new_path)); this.editor.on('change', () => { this.saveDiffResolution(); }); diff --git a/app/helpers/blob_helper.rb b/app/helpers/blob_helper.rb index 883e5ddff57..8d58c86b7a4 100644 --- a/app/helpers/blob_helper.rb +++ b/app/helpers/blob_helper.rb @@ -195,7 +195,7 @@ module BlobHelper { 'relative-url-root' => Rails.application.config.relative_url_root, 'assets-prefix' => Gitlab::Application.config.assets.prefix, - 'blob-language' => @blob && @blob.language.try(:ace_mode), + 'blob-filename' => @blob && @blob.path, 'project-id' => project.id } end diff --git a/app/models/blob.rb b/app/models/blob.rb index acc64ffca67..31a839274b5 100644 --- a/app/models/blob.rb +++ b/app/models/blob.rb @@ -162,7 +162,7 @@ class Blob < SimpleDelegator if stored_externally? if rich_viewer rich_viewer.binary? - elsif Linguist::Language.find_by_extension(name).any? + elsif known_extension? false elsif _mime_type _mime_type.binary? diff --git a/app/models/concerns/blob_like.rb b/app/models/concerns/blob_like.rb index e96fefe81c4..f20f01486a5 100644 --- a/app/models/concerns/blob_like.rb +++ b/app/models/concerns/blob_like.rb @@ -2,7 +2,7 @@ module BlobLike extend ActiveSupport::Concern - include Linguist::BlobHelper + include Gitlab::BlobHelper def id raise NotImplementedError diff --git a/changelogs/unreleased/zj-remove-linguist.yml b/changelogs/unreleased/zj-remove-linguist.yml new file mode 100644 index 00000000000..5719512c4cc --- /dev/null +++ b/changelogs/unreleased/zj-remove-linguist.yml @@ -0,0 +1,5 @@ +--- +title: Remove Linguist gem, reducing Rails memory usage by 128MB per process +merge_request: 21008 +author: +type: changed diff --git a/lib/gitlab/blob_helper.rb b/lib/gitlab/blob_helper.rb new file mode 100644 index 00000000000..9b3b383b0c8 --- /dev/null +++ b/lib/gitlab/blob_helper.rb @@ -0,0 +1,145 @@ +# This has been extracted from https://github.com/github/linguist/blob/master/lib/linguist/blob_helper.rb +module Gitlab + module BlobHelper + def extname + File.extname(name.to_s) + end + + def known_extension? + LanguageData.extensions.include?(extname) + end + + def viewable? + !large? && text? + end + + MEGABYTE = 1024 * 1024 + + def large? + size.to_i > MEGABYTE + end + + def binary? + # Large blobs aren't even loaded into memory + if data.nil? + true + + # Treat blank files as text + elsif data == "" + false + + # Charlock doesn't know what to think + elsif encoding.nil? + true + + # If Charlock says its binary + else + detect_encoding[:type] == :binary + end + end + + def text? + !binary? + end + + def image? + ['.png', '.jpg', '.jpeg', '.gif'].include?(extname.downcase) + end + + # Internal: Lookup mime type for extension. + # + # Returns a MIME::Type + # rubocop:disable Gitlab/ModuleWithInstanceVariables + def _mime_type + if defined? @_mime_type + @_mime_type + else + guesses = ::MIME::Types.type_for(extname.to_s) + + # Prefer text mime types over binary + @_mime_type = guesses.detect { |type| type.ascii? } || guesses.first + end + end + # rubocop:enable Gitlab/ModuleWithInstanceVariables + + # Public: Get the actual blob mime type + # + # Examples + # + # # => 'text/plain' + # # => 'text/html' + # + # Returns a mime type String. + def mime_type + _mime_type ? _mime_type.to_s : 'text/plain' + end + + def binary_mime_type? + _mime_type ? _mime_type.binary? : false + end + + def lines + @lines ||= + if viewable? && data + # `data` is usually encoded as ASCII-8BIT even when the content has + # been detected as a different encoding. However, we are not allowed + # to change the encoding of `data` because we've made the implicit + # guarantee that each entry in `lines` is encoded the same way as + # `data`. + # + # Instead, we re-encode each possible newline sequence as the + # detected encoding, then force them back to the encoding of `data` + # (usually a binary encoding like ASCII-8BIT). This means that the + # byte sequence will match how newlines are likely encoded in the + # file, but we don't have to change the encoding of `data` as far as + # Ruby is concerned. This allows us to correctly parse out each line + # without changing the encoding of `data`, and + # also--importantly--without having to duplicate many (potentially + # large) strings. + begin + data.split(encoded_newlines_re, -1) + rescue Encoding::ConverterNotFoundError + # The data is not splittable in the detected encoding. Assume it's + # one big line. + [data] + end + else + [] + end + end + + def content_type + # rubocop:disable Style/MultilineTernaryOperator + # rubocop:disable Style/NestedTernaryOperator + @content_type ||= binary_mime_type? || binary? ? mime_type : + (encoding ? "text/plain; charset=#{encoding.downcase}" : "text/plain") + # rubocop:enable Style/NestedTernaryOperator + # rubocop:enable Style/MultilineTernaryOperator + end + + def encoded_newlines_re + @encoded_newlines_re ||= + Regexp.union(["\r\n", "\r", "\n"].map { |nl| nl.encode(ruby_encoding, "ASCII-8BIT").force_encoding(data.encoding) }) + end + + def ruby_encoding + if hash = detect_encoding + hash[:ruby_encoding] + end + end + + def encoding + if hash = detect_encoding + hash[:encoding] + end + end + + def detect_encoding + @detect_encoding ||= CharlockHolmes::EncodingDetector.new.detect(data) if data # rubocop:disable Gitlab/ModuleWithInstanceVariables + end + + def empty? + data.nil? || data == "" + end + end +end diff --git a/lib/gitlab/conflict/file.rb b/lib/gitlab/conflict/file.rb index 2a0cb640a14..30911b49b18 100644 --- a/lib/gitlab/conflict/file.rb +++ b/lib/gitlab/conflict/file.rb @@ -158,7 +158,6 @@ module Gitlab json_hash.tap do |json_hash| if opts[:full_content] json_hash[:content] = content - json_hash[:blob_ace_mode] = our_blob && our_blob.language.try(:ace_mode) else json_hash[:sections] = sections if type.text? json_hash[:type] = type diff --git a/lib/gitlab/git/blob.rb b/lib/gitlab/git/blob.rb index 71857bd2d87..13b0bb930f4 100644 --- a/lib/gitlab/git/blob.rb +++ b/lib/gitlab/git/blob.rb @@ -3,13 +3,13 @@ module Gitlab module Git class Blob - include Linguist::BlobHelper + include Gitlab::BlobHelper include Gitlab::EncodingHelper # This number is the maximum amount of data that we want to display to - # the user. We load as much as we can for encoding detection - # (Linguist) and LFS pointer parsing. All other cases where we need full - # blob data should use load_all_data!. + # the user. We load as much as we can for encoding detection and LFS + # pointer parsing. All other cases where we need full blob data should + # use load_all_data!. MAX_DATA_DISPLAY_SIZE = 10.megabytes # These limits are used as a heuristic to ignore files which can't be LFS diff --git a/lib/gitlab/git/blob_snippet.rb b/lib/gitlab/git/blob_snippet.rb deleted file mode 100644 index 68116e775c6..00000000000 --- a/lib/gitlab/git/blob_snippet.rb +++ /dev/null @@ -1,34 +0,0 @@ -# Gitaly note: JV: no RPC's here. - -module Gitlab - module Git - class BlobSnippet - include Linguist::BlobHelper - - attr_accessor :ref - attr_accessor :lines - attr_accessor :filename - attr_accessor :startline - - def initialize(ref, lines, startline, filename) - @ref, @lines, @startline, @filename = ref, lines, startline, filename - end - - def data - lines&.join("\n") - end - - def name - filename - end - - def size - data.length - end - - def mode - nil - end - end - end -end diff --git a/lib/gitlab/language_data.rb b/lib/gitlab/language_data.rb new file mode 100644 index 00000000000..bfdd7175198 --- /dev/null +++ b/lib/gitlab/language_data.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Gitlab + module LanguageData + EXTENSION_MUTEX = Mutex.new + + class << self + include Gitlab::Utils::StrongMemoize + + def extensions + EXTENSION_MUTEX.synchronize do + strong_memoize(:extensions) do + Set.new.tap do |set| + YAML.load_file(Rails.root.join('vendor', 'languages.yml')).each do |_name, details| + details['extensions']&.each do |ext| + next unless ext.start_with?('.') + + set << ext.downcase + end + end + end + end + end + end + + def clear_extensions! + EXTENSION_MUTEX.synchronize do + clear_memoization(:extensions) + end + end + end + end +end diff --git a/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb b/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb index 397cc79bde4..1e1ea9a7144 100644 --- a/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb +++ b/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb @@ -150,7 +150,6 @@ describe Projects::MergeRequests::ConflictsController do 'new_path' => path, 'blob_icon' => 'file-text-o', 'blob_path' => a_string_ending_with(path), - 'blob_ace_mode' => 'ruby', 'content' => content) end end diff --git a/spec/lib/gitlab/blob_helper_spec.rb b/spec/lib/gitlab/blob_helper_spec.rb new file mode 100644 index 00000000000..0b56f8687c3 --- /dev/null +++ b/spec/lib/gitlab/blob_helper_spec.rb @@ -0,0 +1,125 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Gitlab::BlobHelper do + include FakeBlobHelpers + + let(:project) { create(:project) } + let(:blob) { fake_blob(path: 'file.txt') } + let(:large_blob) { fake_blob(path: 'test.pdf', size: 2.megabytes, binary: true) } + + describe '#extname' do + it 'returns the extension' do + expect(blob.extname).to eq('.txt') + end + end + + describe '#known_extension?' do + it 'returns true' do + expect(blob.known_extension?).to be_truthy + end + end + + describe '#viewable' do + it 'returns true' do + expect(blob.viewable?).to be_truthy + end + + it 'returns false' do + expect(large_blob.viewable?).to be_falsey + end + end + + describe '#large?' do + it 'returns false' do + expect(blob.large?).to be_falsey + end + + it 'returns true' do + expect(large_blob.large?).to be_truthy + end + end + + describe '#binary?' do + it 'returns true' do + expect(large_blob.binary?).to be_truthy + end + + it 'returns false' do + expect(blob.binary?).to be_falsey + end + end + + describe '#text?' do + it 'returns true' do + expect(blob.text?).to be_truthy + end + + it 'returns false' do + expect(large_blob.text?).to be_falsey + end + end + + describe '#image?' do + it 'returns false' do + expect(blob.image?).to be_falsey + end + end + + describe '#mime_type' do + it 'returns text/plain' do + expect(blob.mime_type).to eq('text/plain') + end + + it 'returns application/pdf' do + expect(large_blob.mime_type).to eq('application/pdf') + end + end + + describe '#binary_mime_type?' do + it 'returns false' do + expect(blob.binary_mime_type?).to be_falsey + end + end + + describe '#lines' do + it 'returns the payload in an Array' do + expect(blob.lines).to eq(['foo']) + end + end + + describe '#content_type' do + it 'returns text/plain' do + expect(blob.content_type).to eq('text/plain; charset=utf-8') + end + + it 'returns text/plain' do + expect(large_blob.content_type).to eq('application/pdf') + end + end + + describe '#encoded_newlines_re' do + it 'returns a regular expression' do + expect(blob.encoded_newlines_re).to eq(/\r\n|\r|\n/) + end + end + + describe '#ruby_encoding' do + it 'returns UTF-8' do + expect(blob.ruby_encoding).to eq('UTF-8') + end + end + + describe '#encoding' do + it 'returns UTF-8' do + expect(blob.ruby_encoding).to eq('UTF-8') + end + end + + describe '#empty?' do + it 'returns false' do + expect(blob.empty?).to be_falsey + end + end +end diff --git a/spec/lib/gitlab/conflict/file_spec.rb b/spec/lib/gitlab/conflict/file_spec.rb index 1bd077ddbdf..a955ce54e85 100644 --- a/spec/lib/gitlab/conflict/file_spec.rb +++ b/spec/lib/gitlab/conflict/file_spec.rb @@ -267,11 +267,6 @@ FILE it 'includes the full content of the conflict' do expect(conflict_file.as_json(full_content: true)).to have_key(:content) end - - it 'includes the detected language of the conflict file' do - expect(conflict_file.as_json(full_content: true)[:blob_ace_mode]) - .to eq('ruby') - end end end end diff --git a/spec/lib/gitlab/git/blob_snippet_spec.rb b/spec/lib/gitlab/git/blob_snippet_spec.rb deleted file mode 100644 index 6effec8295c..00000000000 --- a/spec/lib/gitlab/git/blob_snippet_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -# encoding: UTF-8 - -require "spec_helper" - -describe Gitlab::Git::BlobSnippet, :seed_helper do - describe '#data' do - context 'empty lines' do - let(:snippet) { Gitlab::Git::BlobSnippet.new('master', nil, nil, nil) } - - it { expect(snippet.data).to be_nil } - end - - context 'present lines' do - let(:snippet) { Gitlab::Git::BlobSnippet.new('master', %w(wow much), 1, 'wow.rb') } - - it { expect(snippet.data).to eq("wow\nmuch") } - end - end -end diff --git a/spec/lib/gitlab/language_data_spec.rb b/spec/lib/gitlab/language_data_spec.rb new file mode 100644 index 00000000000..b08150855fe --- /dev/null +++ b/spec/lib/gitlab/language_data_spec.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Gitlab::LanguageData do + describe '#extensions' do + before do + described_class.clear_extensions! + end + + it 'loads the extensions once' do + expect(YAML).to receive(:load_file).once.and_call_original + + 2.times do + expect(described_class.extensions).to be_a(Set) + expect(described_class.extensions.count).to be > 0 + # Sanity check for known extensions + expect(described_class.extensions).to include(*%w(.rb .yml .json)) + end + end + end +end diff --git a/vendor/languages.yml b/vendor/languages.yml new file mode 100755 index 00000000000..a6edb0415b2 --- /dev/null +++ b/vendor/languages.yml @@ -0,0 +1,5488 @@ +# Extracted from https://github.com/github/linguist/blob/master/lib/linguist/languages.yml + +# Defines all Languages known to GitHub. +# +# type - Either data, programming, markup, prose, or nil +# aliases - An Array of additional aliases (implicitly +# includes name.downcase) +# ace_mode - A String name of the Ace Mode used for highlighting whenever +# a file is edited. This must match one of the filenames in http://git.io/3XO_Cg. +# Use "text" if a mode does not exist. +# codemirror_mode - A String name of the CodeMirror Mode used for highlighting whenever a file is edited. +# This must match a mode from https://git.io/vi9Fx +# codemirror_mime_type - A String name of the file mime type used for highlighting whenever a file is edited. +# This should match the `mime` associated with the mode from https://git.io/f4SoQ +# wrap - Boolean wrap to enable line wrapping (default: false) +# extensions - An Array of associated extensions (the first one is +# considered the primary extension, the others should be +# listed alphabetically) +# filenames - An Array of filenames commonly associated with the language +# interpreters - An Array of associated interpreters +# searchable - Boolean flag to enable searching (defaults to true) +# language_id - Integer used as a language-name-independent indexed field so that we can rename +# languages in Linguist without reindexing all the code on GitHub. Must not be +# changed for existing languages without the explicit permission of GitHub staff. +# color - CSS hex color to represent the language. Only used if type is "programming" or "prose". +# tm_scope - The TextMate scope that represents this programming +# language. This should match one of the scopes listed in +# the grammars.yml file. Use "none" if there is no grammar +# for this language. +# group - Name of the parent language. Languages in a group are counted +# in the statistics as the parent language. +# +# Any additions or modifications (even trivial) should have corresponding +# test changes in `test/test_blob.rb`. +# +# Please keep this list alphabetized. Capitalization comes before lowercase. + +--- +1C Enterprise: + type: programming + color: "#814CCC" + extensions: + - ".bsl" + - ".os" + tm_scope: source.bsl + ace_mode: text + language_id: 0 +ABAP: + type: programming + color: "#E8274B" + extensions: + - ".abap" + ace_mode: abap + language_id: 1 +ABNF: + type: data + ace_mode: text + extensions: + - ".abnf" + tm_scope: source.abnf + language_id: 429 +AGS Script: + type: programming + color: "#B9D9FF" + aliases: + - ags + extensions: + - ".asc" + - ".ash" + tm_scope: source.c++ + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + language_id: 2 +AMPL: + type: programming + color: "#E6EFBB" + extensions: + - ".ampl" + - ".mod" + tm_scope: source.ampl + ace_mode: text + language_id: 3 +ANTLR: + type: programming + color: "#9DC3FF" + extensions: + - ".g4" + ace_mode: text + language_id: 4 +API Blueprint: + type: markup + color: "#2ACCA8" + ace_mode: markdown + extensions: + - ".apib" + tm_scope: text.html.markdown.source.gfm.apib + language_id: 5 +APL: + type: programming + color: "#5A8164" + extensions: + - ".apl" + - ".dyalog" + interpreters: + - apl + - aplx + - dyalog + tm_scope: source.apl + ace_mode: text + codemirror_mode: apl + codemirror_mime_type: text/apl + language_id: 6 +ASN.1: + type: data + extensions: + - ".asn" + - ".asn1" + tm_scope: source.asn + ace_mode: text + codemirror_mode: asn.1 + codemirror_mime_type: text/x-ttcn-asn + language_id: 7 +ASP: + type: programming + color: "#6a40fd" + tm_scope: text.html.asp + aliases: + - aspx + - aspx-vb + extensions: + - ".asp" + - ".asax" + - ".ascx" + - ".ashx" + - ".asmx" + - ".aspx" + - ".axd" + ace_mode: text + codemirror_mode: htmlembedded + codemirror_mime_type: application/x-aspx + language_id: 8 +ATS: + type: programming + color: "#1ac620" + aliases: + - ats2 + extensions: + - ".dats" + - ".hats" + - ".sats" + tm_scope: source.ats + ace_mode: ocaml + language_id: 9 +ActionScript: + type: programming + tm_scope: source.actionscript.3 + color: "#882B0F" + aliases: + - actionscript 3 + - actionscript3 + - as3 + extensions: + - ".as" + ace_mode: actionscript + language_id: 10 +Ada: + type: programming + color: "#02f88c" + extensions: + - ".adb" + - ".ada" + - ".ads" + aliases: + - ada95 + - ada2005 + ace_mode: ada + language_id: 11 +Adobe Font Metrics: + type: data + tm_scope: source.afm + extensions: + - ".afm" + aliases: + - acfm + - adobe composite font metrics + - adobe multiple font metrics + - amfm + ace_mode: text + language_id: 147198098 +Agda: + type: programming + color: "#315665" + extensions: + - ".agda" + ace_mode: text + language_id: 12 +Alloy: + type: programming + color: "#64C800" + extensions: + - ".als" + ace_mode: text + language_id: 13 +Alpine Abuild: + type: programming + group: Shell + aliases: + - abuild + - apkbuild + filenames: + - APKBUILD + tm_scope: source.shell + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 14 +AngelScript: + type: programming + color: "#C7D7DC" + extensions: + - ".as" + - ".angelscript" + tm_scope: source.angelscript + ace_mode: text + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + language_id: 389477596 +Ant Build System: + type: data + tm_scope: text.xml.ant + filenames: + - ant.xml + - build.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: application/xml + language_id: 15 +ApacheConf: + type: data + aliases: + - aconf + - apache + extensions: + - ".apacheconf" + - ".vhost" + filenames: + - ".htaccess" + - apache2.conf + - httpd.conf + tm_scope: source.apache-config + ace_mode: apache_conf + language_id: 16 +Apex: + type: programming + extensions: + - ".cls" + tm_scope: source.java + ace_mode: java + codemirror_mode: clike + codemirror_mime_type: text/x-java + language_id: 17 +Apollo Guidance Computer: + type: programming + group: Assembly + extensions: + - ".agc" + tm_scope: source.agc + ace_mode: assembly_x86 + language_id: 18 +AppleScript: + type: programming + aliases: + - osascript + extensions: + - ".applescript" + - ".scpt" + interpreters: + - osascript + ace_mode: applescript + color: "#101F1F" + language_id: 19 +Arc: + type: programming + color: "#aa2afe" + extensions: + - ".arc" + tm_scope: none + ace_mode: text + language_id: 20 +AsciiDoc: + type: prose + ace_mode: asciidoc + wrap: true + extensions: + - ".asciidoc" + - ".adoc" + - ".asc" + tm_scope: text.html.asciidoc + language_id: 22 +AspectJ: + type: programming + color: "#a957b0" + extensions: + - ".aj" + tm_scope: source.aspectj + ace_mode: text + language_id: 23 +Assembly: + type: programming + color: "#6E4C13" + aliases: + - asm + - nasm + extensions: + - ".asm" + - ".a51" + - ".inc" + - ".nasm" + tm_scope: source.assembly + ace_mode: assembly_x86 + language_id: 24 +Augeas: + type: programming + extensions: + - ".aug" + tm_scope: none + ace_mode: text + language_id: 25 +AutoHotkey: + type: programming + color: "#6594b9" + aliases: + - ahk + extensions: + - ".ahk" + - ".ahkl" + tm_scope: source.ahk + ace_mode: autohotkey + language_id: 26 +AutoIt: + type: programming + color: "#1C3552" + aliases: + - au3 + - AutoIt3 + - AutoItScript + extensions: + - ".au3" + tm_scope: source.autoit + ace_mode: autohotkey + language_id: 27 +Awk: + type: programming + extensions: + - ".awk" + - ".auk" + - ".gawk" + - ".mawk" + - ".nawk" + interpreters: + - awk + - gawk + - mawk + - nawk + ace_mode: text + language_id: 28 +Ballerina: + type: programming + extensions: + - ".bal" + tm_scope: source.ballerina + ace_mode: text + color: "#FF5000" + language_id: 720859680 +Batchfile: + type: programming + aliases: + - bat + - batch + - dosbatch + - winbatch + extensions: + - ".bat" + - ".cmd" + tm_scope: source.batchfile + ace_mode: batchfile + color: "#C1F12E" + language_id: 29 +Befunge: + type: programming + extensions: + - ".befunge" + ace_mode: text + language_id: 30 +Bison: + type: programming + group: Yacc + tm_scope: source.bison + extensions: + - ".bison" + ace_mode: text + language_id: 31 +BitBake: + type: programming + tm_scope: none + extensions: + - ".bb" + ace_mode: text + language_id: 32 +Blade: + type: markup + group: HTML + extensions: + - ".blade" + - ".blade.php" + tm_scope: text.html.php.blade + ace_mode: text + language_id: 33 +BlitzBasic: + type: programming + aliases: + - b3d + - blitz3d + - blitzplus + - bplus + extensions: + - ".bb" + - ".decls" + tm_scope: source.blitzmax + ace_mode: text + language_id: 34 +BlitzMax: + type: programming + color: "#cd6400" + extensions: + - ".bmx" + aliases: + - bmax + ace_mode: text + language_id: 35 +Bluespec: + type: programming + extensions: + - ".bsv" + tm_scope: source.bsv + ace_mode: verilog + language_id: 36 +Boo: + type: programming + color: "#d4bec1" + extensions: + - ".boo" + ace_mode: text + tm_scope: source.boo + language_id: 37 +Brainfuck: + type: programming + color: "#2F2530" + extensions: + - ".b" + - ".bf" + tm_scope: source.bf + ace_mode: text + codemirror_mode: brainfuck + codemirror_mime_type: text/x-brainfuck + language_id: 38 +Brightscript: + type: programming + extensions: + - ".brs" + tm_scope: source.brightscript + ace_mode: text + language_id: 39 +Bro: + type: programming + extensions: + - ".bro" + ace_mode: text + language_id: 40 +C: + type: programming + color: "#555555" + extensions: + - ".c" + - ".cats" + - ".h" + - ".idc" + interpreters: + - tcc + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 41 +C#: + type: programming + ace_mode: csharp + codemirror_mode: clike + codemirror_mime_type: text/x-csharp + tm_scope: source.cs + color: "#178600" + aliases: + - csharp + extensions: + - ".cs" + - ".cake" + - ".cshtml" + - ".csx" + language_id: 42 +C++: + type: programming + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + color: "#f34b7d" + aliases: + - cpp + extensions: + - ".cpp" + - ".c++" + - ".cc" + - ".cp" + - ".cxx" + - ".h" + - ".h++" + - ".hh" + - ".hpp" + - ".hxx" + - ".inc" + - ".inl" + - ".ino" + - ".ipp" + - ".re" + - ".tcc" + - ".tpp" + language_id: 43 +C-ObjDump: + type: data + extensions: + - ".c-objdump" + tm_scope: objdump.x86asm + ace_mode: assembly_x86 + language_id: 44 +C2hs Haskell: + type: programming + group: Haskell + aliases: + - c2hs + extensions: + - ".chs" + tm_scope: source.haskell + ace_mode: haskell + codemirror_mode: haskell + codemirror_mime_type: text/x-haskell + language_id: 45 +CLIPS: + type: programming + extensions: + - ".clp" + tm_scope: source.clips + ace_mode: text + language_id: 46 +CMake: + type: programming + extensions: + - ".cmake" + - ".cmake.in" + filenames: + - CMakeLists.txt + ace_mode: text + codemirror_mode: cmake + codemirror_mime_type: text/x-cmake + language_id: 47 +COBOL: + type: programming + extensions: + - ".cob" + - ".cbl" + - ".ccp" + - ".cobol" + - ".cpy" + ace_mode: cobol + codemirror_mode: cobol + codemirror_mime_type: text/x-cobol + language_id: 48 +COLLADA: + type: data + extensions: + - ".dae" + tm_scope: text.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 49 +CSON: + type: data + group: CoffeeScript + tm_scope: source.coffee + ace_mode: coffee + codemirror_mode: coffeescript + codemirror_mime_type: text/x-coffeescript + searchable: false + extensions: + - ".cson" + language_id: 424 +CSS: + type: markup + tm_scope: source.css + ace_mode: css + codemirror_mode: css + codemirror_mime_type: text/css + color: "#563d7c" + extensions: + - ".css" + language_id: 50 +CSV: + type: data + ace_mode: text + tm_scope: none + extensions: + - ".csv" + language_id: 51 +CWeb: + type: programming + extensions: + - ".w" + tm_scope: none + ace_mode: text + language_id: 657332628 +Cap'n Proto: + type: programming + tm_scope: source.capnp + extensions: + - ".capnp" + ace_mode: text + language_id: 52 +CartoCSS: + type: programming + aliases: + - Carto + extensions: + - ".mss" + ace_mode: text + tm_scope: source.css.mss + language_id: 53 +Ceylon: + type: programming + color: "#dfa535" + extensions: + - ".ceylon" + tm_scope: source.ceylon + ace_mode: text + language_id: 54 +Chapel: + type: programming + color: "#8dc63f" + aliases: + - chpl + extensions: + - ".chpl" + ace_mode: text + language_id: 55 +Charity: + type: programming + extensions: + - ".ch" + tm_scope: none + ace_mode: text + language_id: 56 +ChucK: + type: programming + extensions: + - ".ck" + tm_scope: source.java + ace_mode: java + codemirror_mode: clike + codemirror_mime_type: text/x-java + language_id: 57 +Cirru: + type: programming + color: "#ccccff" + ace_mode: cirru + extensions: + - ".cirru" + language_id: 58 +Clarion: + type: programming + color: "#db901e" + ace_mode: text + extensions: + - ".clw" + tm_scope: source.clarion + language_id: 59 +Clean: + type: programming + color: "#3F85AF" + extensions: + - ".icl" + - ".dcl" + tm_scope: source.clean + ace_mode: text + language_id: 60 +Click: + type: programming + color: "#E4E6F3" + extensions: + - ".click" + tm_scope: source.click + ace_mode: text + language_id: 61 +Clojure: + type: programming + ace_mode: clojure + codemirror_mode: clojure + codemirror_mime_type: text/x-clojure + color: "#db5855" + extensions: + - ".clj" + - ".boot" + - ".cl2" + - ".cljc" + - ".cljs" + - ".cljs.hl" + - ".cljscm" + - ".cljx" + - ".hic" + filenames: + - riemann.config + language_id: 62 +Closure Templates: + type: markup + group: HTML + ace_mode: soy_template + codemirror_mode: soy + codemirror_mime_type: text/x-soy + aliases: + - soy + extensions: + - ".soy" + tm_scope: text.html.soy + language_id: 357046146 +Cloud Firestore Security Rules: + type: data + ace_mode: less + codemirror_mode: css + codemirror_mime_type: text/css + tm_scope: source.firestore + filenames: + - firestore.rules + language_id: 407996372 +CoNLL-U: + type: data + extensions: + - ".conllu" + - ".conll" + tm_scope: text.conllu + ace_mode: text + aliases: + - CoNLL + - CoNLL-X + language_id: 421026389 +CoffeeScript: + type: programming + tm_scope: source.coffee + ace_mode: coffee + codemirror_mode: coffeescript + codemirror_mime_type: text/x-coffeescript + color: "#244776" + aliases: + - coffee + - coffee-script + extensions: + - ".coffee" + - "._coffee" + - ".cake" + - ".cjsx" + - ".iced" + filenames: + - Cakefile + interpreters: + - coffee + language_id: 63 +ColdFusion: + type: programming + ace_mode: coldfusion + color: "#ed2cd6" + aliases: + - cfm + - cfml + - coldfusion html + extensions: + - ".cfm" + - ".cfml" + tm_scope: text.html.cfm + language_id: 64 +ColdFusion CFC: + type: programming + group: ColdFusion + ace_mode: coldfusion + aliases: + - cfc + extensions: + - ".cfc" + tm_scope: source.cfscript + language_id: 65 +Common Lisp: + type: programming + tm_scope: source.lisp + color: "#3fb68b" + aliases: + - lisp + extensions: + - ".lisp" + - ".asd" + - ".cl" + - ".l" + - ".lsp" + - ".ny" + - ".podsl" + - ".sexp" + interpreters: + - lisp + - sbcl + - ccl + - clisp + - ecl + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 66 +Common Workflow Language: + aliases: + - cwl + type: programming + ace_mode: yaml + codemirror_mode: yaml + codemirror_mime_type: text/x-yaml + extensions: + - ".cwl" + interpreters: + - cwl-runner + color: "#B5314C" + tm_scope: source.cwl + language_id: 988547172 +Component Pascal: + type: programming + color: "#B0CE4E" + extensions: + - ".cp" + - ".cps" + tm_scope: source.pascal + aliases: + - delphi + - objectpascal + ace_mode: pascal + codemirror_mode: pascal + codemirror_mime_type: text/x-pascal + language_id: 67 +Cool: + type: programming + extensions: + - ".cl" + tm_scope: source.cool + ace_mode: text + language_id: 68 +Coq: + type: programming + extensions: + - ".coq" + - ".v" + ace_mode: text + language_id: 69 +Cpp-ObjDump: + type: data + extensions: + - ".cppobjdump" + - ".c++-objdump" + - ".c++objdump" + - ".cpp-objdump" + - ".cxx-objdump" + tm_scope: objdump.x86asm + aliases: + - c++-objdump + ace_mode: assembly_x86 + language_id: 70 +Creole: + type: prose + wrap: true + extensions: + - ".creole" + tm_scope: text.html.creole + ace_mode: text + language_id: 71 +Crystal: + type: programming + color: "#776791" + extensions: + - ".cr" + ace_mode: ruby + codemirror_mode: crystal + codemirror_mime_type: text/x-crystal + tm_scope: source.crystal + interpreters: + - crystal + language_id: 72 +Csound: + type: programming + aliases: + - csound-orc + extensions: + - ".orc" + - ".udo" + tm_scope: source.csound + ace_mode: csound_orchestra + language_id: 73 +Csound Document: + type: programming + aliases: + - csound-csd + extensions: + - ".csd" + tm_scope: source.csound-document + ace_mode: csound_document + language_id: 74 +Csound Score: + type: programming + aliases: + - csound-sco + extensions: + - ".sco" + tm_scope: source.csound-score + ace_mode: csound_score + language_id: 75 +Cuda: + type: programming + extensions: + - ".cu" + - ".cuh" + tm_scope: source.cuda-c++ + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + color: "#3A4E3A" + language_id: 77 +Cycript: + type: programming + extensions: + - ".cy" + tm_scope: source.js + ace_mode: javascript + codemirror_mode: javascript + codemirror_mime_type: text/javascript + language_id: 78 +Cython: + type: programming + group: Python + extensions: + - ".pyx" + - ".pxd" + - ".pxi" + aliases: + - pyrex + ace_mode: text + codemirror_mode: python + codemirror_mime_type: text/x-cython + language_id: 79 +D: + type: programming + color: "#ba595e" + extensions: + - ".d" + - ".di" + ace_mode: d + codemirror_mode: d + codemirror_mime_type: text/x-d + language_id: 80 +D-ObjDump: + type: data + extensions: + - ".d-objdump" + tm_scope: objdump.x86asm + ace_mode: assembly_x86 + language_id: 81 +DIGITAL Command Language: + type: programming + aliases: + - dcl + extensions: + - ".com" + tm_scope: none + ace_mode: text + language_id: 82 +DM: + type: programming + color: "#447265" + extensions: + - ".dm" + aliases: + - byond + tm_scope: source.dm + ace_mode: c_cpp + language_id: 83 +DNS Zone: + type: data + extensions: + - ".zone" + - ".arpa" + tm_scope: text.zone_file + ace_mode: text + language_id: 84 +DTrace: + type: programming + aliases: + - dtrace-script + extensions: + - ".d" + interpreters: + - dtrace + tm_scope: source.c + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 85 +Darcs Patch: + type: data + aliases: + - dpatch + extensions: + - ".darcspatch" + - ".dpatch" + tm_scope: none + ace_mode: text + language_id: 86 +Dart: + type: programming + color: "#00B4AB" + extensions: + - ".dart" + interpreters: + - dart + ace_mode: dart + codemirror_mode: dart + codemirror_mime_type: application/dart + language_id: 87 +DataWeave: + type: programming + color: "#003a52" + extensions: + - ".dwl" + ace_mode: text + tm_scope: source.data-weave + language_id: 974514097 +Diff: + type: data + extensions: + - ".diff" + - ".patch" + aliases: + - udiff + tm_scope: source.diff + ace_mode: diff + codemirror_mode: diff + codemirror_mime_type: text/x-diff + language_id: 88 +Dockerfile: + type: programming + color: "#0db7ed" + tm_scope: source.dockerfile + extensions: + - ".dockerfile" + filenames: + - Dockerfile + ace_mode: dockerfile + codemirror_mode: dockerfile + codemirror_mime_type: text/x-dockerfile + language_id: 89 +Dogescript: + type: programming + color: "#cca760" + extensions: + - ".djs" + tm_scope: none + ace_mode: text + language_id: 90 +Dylan: + type: programming + color: "#6c616e" + extensions: + - ".dylan" + - ".dyl" + - ".intr" + - ".lid" + ace_mode: text + codemirror_mode: dylan + codemirror_mime_type: text/x-dylan + language_id: 91 +E: + type: programming + color: "#ccce35" + extensions: + - ".E" + interpreters: + - rune + tm_scope: none + ace_mode: text + language_id: 92 +EBNF: + type: data + extensions: + - ".ebnf" + tm_scope: source.ebnf + ace_mode: text + codemirror_mode: ebnf + codemirror_mime_type: text/x-ebnf + language_id: 430 +ECL: + type: programming + color: "#8a1267" + extensions: + - ".ecl" + - ".eclxml" + tm_scope: none + ace_mode: text + codemirror_mode: ecl + codemirror_mime_type: text/x-ecl + language_id: 93 +ECLiPSe: + type: programming + group: prolog + extensions: + - ".ecl" + tm_scope: source.prolog.eclipse + ace_mode: prolog + language_id: 94 +EJS: + type: markup + group: HTML + extensions: + - ".ejs" + tm_scope: text.html.js + ace_mode: ejs + language_id: 95 +EQ: + type: programming + color: "#a78649" + extensions: + - ".eq" + tm_scope: source.cs + ace_mode: csharp + codemirror_mode: clike + codemirror_mime_type: text/x-csharp + language_id: 96 +Eagle: + type: data + extensions: + - ".sch" + - ".brd" + tm_scope: text.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 97 +Easybuild: + type: data + group: Python + ace_mode: python + codemirror_mode: python + codemirror_mime_type: text/x-python + tm_scope: source.python + extensions: + - ".eb" + language_id: 342840477 +Ecere Projects: + type: data + group: JavaScript + extensions: + - ".epj" + tm_scope: source.json + ace_mode: json + codemirror_mode: javascript + codemirror_mime_type: application/json + language_id: 98 +Edje Data Collection: + type: data + extensions: + - ".edc" + tm_scope: source.json + ace_mode: json + codemirror_mode: javascript + codemirror_mime_type: application/json + language_id: 342840478 +Eiffel: + type: programming + color: "#946d57" + extensions: + - ".e" + ace_mode: eiffel + codemirror_mode: eiffel + codemirror_mime_type: text/x-eiffel + language_id: 99 +Elixir: + type: programming + color: "#6e4a7e" + extensions: + - ".ex" + - ".exs" + ace_mode: elixir + filenames: + - mix.lock + interpreters: + - elixir + language_id: 100 +Elm: + type: programming + color: "#60B5CC" + extensions: + - ".elm" + tm_scope: source.elm + ace_mode: elm + codemirror_mode: elm + codemirror_mime_type: text/x-elm + language_id: 101 +Emacs Lisp: + type: programming + tm_scope: source.emacs.lisp + color: "#c065db" + aliases: + - elisp + - emacs + filenames: + - ".abbrev_defs" + - ".emacs" + - ".emacs.desktop" + - ".gnus" + - ".spacemacs" + - ".viper" + - Cask + - Project.ede + - _emacs + - abbrev_defs + extensions: + - ".el" + - ".emacs" + - ".emacs.desktop" + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 102 +EmberScript: + type: programming + color: "#FFF4F3" + extensions: + - ".em" + - ".emberscript" + tm_scope: source.coffee + ace_mode: coffee + codemirror_mode: coffeescript + codemirror_mime_type: text/x-coffeescript + language_id: 103 +Erlang: + type: programming + color: "#B83998" + extensions: + - ".erl" + - ".app.src" + - ".es" + - ".escript" + - ".hrl" + - ".xrl" + - ".yrl" + filenames: + - Emakefile + - rebar.config + - rebar.config.lock + - rebar.lock + ace_mode: erlang + codemirror_mode: erlang + codemirror_mime_type: text/x-erlang + interpreters: + - escript + language_id: 104 +F#: + type: programming + color: "#b845fc" + aliases: + - fsharp + extensions: + - ".fs" + - ".fsi" + - ".fsx" + tm_scope: source.fsharp + ace_mode: text + codemirror_mode: mllike + codemirror_mime_type: text/x-fsharp + language_id: 105 +FLUX: + type: programming + color: "#88ccff" + extensions: + - ".fx" + - ".flux" + tm_scope: none + ace_mode: text + language_id: 106 +Factor: + type: programming + color: "#636746" + extensions: + - ".factor" + filenames: + - ".factor-boot-rc" + - ".factor-rc" + ace_mode: text + codemirror_mode: factor + codemirror_mime_type: text/x-factor + language_id: 108 +Fancy: + type: programming + color: "#7b9db4" + extensions: + - ".fy" + - ".fancypack" + filenames: + - Fakefile + ace_mode: text + language_id: 109 +Fantom: + type: programming + color: "#14253c" + extensions: + - ".fan" + tm_scope: source.fan + ace_mode: text + language_id: 110 +Filebench WML: + type: programming + extensions: + - ".f" + tm_scope: none + ace_mode: text + language_id: 111 +Filterscript: + type: programming + group: RenderScript + extensions: + - ".fs" + tm_scope: none + ace_mode: text + language_id: 112 +Formatted: + type: data + extensions: + - ".for" + - ".eam.fs" + tm_scope: none + ace_mode: text + language_id: 113 +Forth: + type: programming + color: "#341708" + extensions: + - ".fth" + - ".4th" + - ".f" + - ".for" + - ".forth" + - ".fr" + - ".frt" + - ".fs" + ace_mode: forth + codemirror_mode: forth + codemirror_mime_type: text/x-forth + language_id: 114 +Fortran: + type: programming + color: "#4d41b1" + extensions: + - ".f90" + - ".f" + - ".f03" + - ".f08" + - ".f77" + - ".f95" + - ".for" + - ".fpp" + tm_scope: source.fortran.modern + ace_mode: text + codemirror_mode: fortran + codemirror_mime_type: text/x-fortran + language_id: 107 +FreeMarker: + type: programming + color: "#0050b2" + aliases: + - ftl + extensions: + - ".ftl" + tm_scope: text.html.ftl + ace_mode: ftl + language_id: 115 +Frege: + type: programming + color: "#00cafe" + extensions: + - ".fr" + tm_scope: source.haskell + ace_mode: haskell + language_id: 116 +G-code: + type: data + extensions: + - ".g" + - ".gco" + - ".gcode" + tm_scope: source.gcode + ace_mode: gcode + language_id: 117 +GAMS: + type: programming + extensions: + - ".gms" + tm_scope: none + ace_mode: text + language_id: 118 +GAP: + type: programming + extensions: + - ".g" + - ".gap" + - ".gd" + - ".gi" + - ".tst" + tm_scope: source.gap + ace_mode: text + language_id: 119 +GCC Machine Description: + type: programming + extensions: + - ".md" + tm_scope: source.lisp + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 121 +GDB: + type: programming + extensions: + - ".gdb" + - ".gdbinit" + tm_scope: source.gdb + ace_mode: text + language_id: 122 +GDScript: + type: programming + color: "#355570" + extensions: + - ".gd" + tm_scope: source.gdscript + ace_mode: text + language_id: 123 +GLSL: + type: programming + extensions: + - ".glsl" + - ".fp" + - ".frag" + - ".frg" + - ".fs" + - ".fsh" + - ".fshader" + - ".geo" + - ".geom" + - ".glslv" + - ".gshader" + - ".shader" + - ".tesc" + - ".tese" + - ".vert" + - ".vrx" + - ".vsh" + - ".vshader" + ace_mode: glsl + language_id: 124 +GN: + type: data + extensions: + - ".gn" + - ".gni" + interpreters: + - gn + filenames: + - ".gn" + tm_scope: source.gn + ace_mode: python + codemirror_mode: python + codemirror_mime_type: text/x-python + language_id: 302957008 +Game Maker Language: + type: programming + color: "#8fb200" + extensions: + - ".gml" + tm_scope: source.c++ + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + language_id: 125 +Genie: + type: programming + ace_mode: text + extensions: + - ".gs" + color: "#fb855d" + tm_scope: none + language_id: 792408528 +Genshi: + type: programming + extensions: + - ".kid" + tm_scope: text.xml.genshi + aliases: + - xml+genshi + - xml+kid + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 126 +Gentoo Ebuild: + type: programming + group: Shell + extensions: + - ".ebuild" + tm_scope: source.shell + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 127 +Gentoo Eclass: + type: programming + group: Shell + extensions: + - ".eclass" + tm_scope: source.shell + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 128 +Gerber Image: + type: data + aliases: + - rs-274x + extensions: + - ".gbr" + - ".gbl" + - ".gbo" + - ".gbp" + - ".gbs" + - ".gko" + - ".gpb" + - ".gpt" + - ".gtl" + - ".gto" + - ".gtp" + - ".gts" + interpreters: + - gerbv + - gerbview + tm_scope: source.gerber + ace_mode: text + language_id: 404627610 +Gettext Catalog: + type: prose + searchable: false + aliases: + - pot + extensions: + - ".po" + - ".pot" + tm_scope: source.po + ace_mode: text + language_id: 129 +Gherkin: + type: programming + extensions: + - ".feature" + tm_scope: text.gherkin.feature + aliases: + - cucumber + ace_mode: text + color: "#5B2063" + language_id: 76 +Glyph: + type: programming + color: "#c1ac7f" + extensions: + - ".glf" + tm_scope: source.tcl + ace_mode: tcl + codemirror_mode: tcl + codemirror_mime_type: text/x-tcl + language_id: 130 +Gnuplot: + type: programming + color: "#f0a9f0" + extensions: + - ".gp" + - ".gnu" + - ".gnuplot" + - ".plot" + - ".plt" + interpreters: + - gnuplot + ace_mode: text + language_id: 131 +Go: + type: programming + color: "#375eab" + aliases: + - golang + extensions: + - ".go" + ace_mode: golang + codemirror_mode: go + codemirror_mime_type: text/x-go + language_id: 132 +Golo: + type: programming + color: "#88562A" + extensions: + - ".golo" + tm_scope: source.golo + ace_mode: text + language_id: 133 +Gosu: + type: programming + color: "#82937f" + extensions: + - ".gs" + - ".gst" + - ".gsx" + - ".vark" + tm_scope: source.gosu.2 + ace_mode: text + language_id: 134 +Grace: + type: programming + extensions: + - ".grace" + tm_scope: source.grace + ace_mode: text + language_id: 135 +Gradle: + type: data + extensions: + - ".gradle" + tm_scope: source.groovy.gradle + ace_mode: text + language_id: 136 +Grammatical Framework: + type: programming + aliases: + - gf + wrap: false + extensions: + - ".gf" + searchable: true + color: "#79aa7a" + tm_scope: source.haskell + ace_mode: haskell + codemirror_mode: haskell + codemirror_mime_type: text/x-haskell + language_id: 137 +Graph Modeling Language: + type: data + extensions: + - ".gml" + tm_scope: none + ace_mode: text + language_id: 138 +GraphQL: + type: data + extensions: + - ".graphql" + - ".gql" + tm_scope: source.graphql + ace_mode: text + language_id: 139 +Graphviz (DOT): + type: data + tm_scope: source.dot + extensions: + - ".dot" + - ".gv" + ace_mode: text + language_id: 140 +Groovy: + type: programming + ace_mode: groovy + codemirror_mode: groovy + codemirror_mime_type: text/x-groovy + color: "#e69f56" + extensions: + - ".groovy" + - ".grt" + - ".gtpl" + - ".gvy" + interpreters: + - groovy + filenames: + - Jenkinsfile + language_id: 142 +Groovy Server Pages: + type: programming + group: Groovy + aliases: + - gsp + - java server page + extensions: + - ".gsp" + tm_scope: text.html.jsp + ace_mode: jsp + codemirror_mode: htmlembedded + codemirror_mime_type: application/x-jsp + language_id: 143 +HCL: + type: programming + extensions: + - ".hcl" + - ".tf" + - ".tfvars" + ace_mode: ruby + codemirror_mode: ruby + codemirror_mime_type: text/x-ruby + tm_scope: source.terraform + language_id: 144 +HLSL: + type: programming + extensions: + - ".hlsl" + - ".cginc" + - ".fx" + - ".fxh" + - ".hlsli" + ace_mode: text + tm_scope: source.hlsl + language_id: 145 +HTML: + type: markup + tm_scope: text.html.basic + ace_mode: html + codemirror_mode: htmlmixed + codemirror_mime_type: text/html + color: "#e34c26" + aliases: + - xhtml + extensions: + - ".html" + - ".htm" + - ".html.hl" + - ".inc" + - ".st" + - ".xht" + - ".xhtml" + language_id: 146 +HTML+Django: + type: markup + tm_scope: text.html.django + group: HTML + extensions: + - ".jinja" + - ".jinja2" + - ".mustache" + - ".njk" + aliases: + - django + - html+django/jinja + - html+jinja + - htmldjango + - njk + - nunjucks + ace_mode: django + codemirror_mode: django + codemirror_mime_type: text/x-django + language_id: 147 +HTML+ECR: + type: markup + tm_scope: text.html.ecr + group: HTML + aliases: + - ecr + extensions: + - ".ecr" + ace_mode: text + codemirror_mode: htmlmixed + codemirror_mime_type: text/html + language_id: 148 +HTML+EEX: + type: markup + tm_scope: text.html.elixir + group: HTML + aliases: + - eex + extensions: + - ".eex" + ace_mode: text + codemirror_mode: htmlmixed + codemirror_mime_type: text/html + language_id: 149 +HTML+ERB: + type: markup + tm_scope: text.html.erb + group: HTML + aliases: + - erb + extensions: + - ".erb" + - ".erb.deface" + ace_mode: text + codemirror_mode: htmlembedded + codemirror_mime_type: application/x-erb + language_id: 150 +HTML+PHP: + type: markup + tm_scope: text.html.php + group: HTML + extensions: + - ".phtml" + ace_mode: php + codemirror_mode: php + codemirror_mime_type: application/x-httpd-php + language_id: 151 +HTTP: + type: data + extensions: + - ".http" + tm_scope: source.httpspec + ace_mode: text + codemirror_mode: http + codemirror_mime_type: message/http + language_id: 152 +HXML: + type: data + ace_mode: text + extensions: + - ".hxml" + tm_scope: source.hxml + language_id: 786683730 +Hack: + type: programming + ace_mode: php + codemirror_mode: php + codemirror_mime_type: application/x-httpd-php + extensions: + - ".hh" + - ".php" + tm_scope: text.html.php + color: "#878787" + language_id: 153 +Haml: + group: HTML + type: markup + extensions: + - ".haml" + - ".haml.deface" + ace_mode: haml + codemirror_mode: haml + codemirror_mime_type: text/x-haml + language_id: 154 +Handlebars: + type: markup + group: HTML + aliases: + - hbs + - htmlbars + extensions: + - ".handlebars" + - ".hbs" + tm_scope: text.html.handlebars + ace_mode: handlebars + language_id: 155 +Harbour: + type: programming + color: "#0e60e3" + extensions: + - ".hb" + tm_scope: source.harbour + ace_mode: text + language_id: 156 +Haskell: + type: programming + color: "#5e5086" + extensions: + - ".hs" + - ".hsc" + interpreters: + - runhaskell + ace_mode: haskell + codemirror_mode: haskell + codemirror_mime_type: text/x-haskell + language_id: 157 +Haxe: + type: programming + ace_mode: haxe + codemirror_mode: haxe + codemirror_mime_type: text/x-haxe + color: "#df7900" + extensions: + - ".hx" + - ".hxsl" + tm_scope: source.hx + language_id: 158 +HiveQL: + type: programming + extensions: + - ".q" + color: "#dce200" + tm_scope: source.hql + ace_mode: sql + language_id: 931814087 +Hy: + type: programming + ace_mode: text + color: "#7790B2" + extensions: + - ".hy" + interpreters: + - "hy" + aliases: + - hylang + tm_scope: none + language_id: 159 +HyPhy: + type: programming + ace_mode: text + extensions: + - ".bf" + tm_scope: none + language_id: 160 +IDL: + type: programming + color: "#a3522f" + extensions: + - ".pro" + - ".dlm" + ace_mode: text + codemirror_mode: idl + codemirror_mime_type: text/x-idl + language_id: 161 +IGOR Pro: + type: programming + extensions: + - ".ipf" + aliases: + - igor + - igorpro + tm_scope: none + ace_mode: text + language_id: 162 +INI: + type: data + extensions: + - ".ini" + - ".cfg" + - ".prefs" + - ".pro" + - ".properties" + filenames: + - ".editorconfig" + - ".gitconfig" + - buildozer.spec + tm_scope: source.ini + aliases: + - dosini + ace_mode: ini + codemirror_mode: properties + codemirror_mime_type: text/x-properties + language_id: 163 +IRC log: + type: data + aliases: + - irc + - irc logs + extensions: + - ".irclog" + - ".weechatlog" + tm_scope: none + ace_mode: text + codemirror_mode: mirc + codemirror_mime_type: text/mirc + language_id: 164 +Idris: + type: programming + color: "#b30000" + extensions: + - ".idr" + - ".lidr" + ace_mode: text + tm_scope: source.idris + language_id: 165 +Inform 7: + type: programming + wrap: true + extensions: + - ".ni" + - ".i7x" + tm_scope: source.inform7 + aliases: + - i7 + - inform7 + ace_mode: text + language_id: 166 +Inno Setup: + type: programming + extensions: + - ".iss" + tm_scope: none + ace_mode: text + language_id: 167 +Io: + type: programming + color: "#a9188d" + extensions: + - ".io" + interpreters: + - io + ace_mode: io + language_id: 168 +Ioke: + type: programming + color: "#078193" + extensions: + - ".ik" + interpreters: + - ioke + ace_mode: text + language_id: 169 +Isabelle: + type: programming + color: "#FEFE00" + extensions: + - ".thy" + tm_scope: source.isabelle.theory + ace_mode: text + language_id: 170 +Isabelle ROOT: + type: programming + group: Isabelle + filenames: + - ROOT + tm_scope: source.isabelle.root + ace_mode: text + language_id: 171 +J: + type: programming + color: "#9EEDFF" + extensions: + - ".ijs" + interpreters: + - jconsole + tm_scope: source.j + ace_mode: text + language_id: 172 +JFlex: + type: programming + group: Lex + extensions: + - ".flex" + - ".jflex" + tm_scope: source.jflex + ace_mode: text + language_id: 173 +JSON: + type: data + tm_scope: source.json + group: JavaScript + ace_mode: json + codemirror_mode: javascript + codemirror_mime_type: application/json + searchable: false + extensions: + - ".json" + - ".avsc" + - ".geojson" + - ".gltf" + - ".JSON-tmLanguage" + - ".jsonl" + - ".tfstate" + - ".tfstate.backup" + - ".topojson" + - ".webapp" + - ".webmanifest" + filenames: + - ".arcconfig" + - ".htmlhintrc" + - ".tern-config" + - ".tern-project" + - composer.lock + - mcmod.info + language_id: 174 +JSON with Comments: + type: data + group: JSON + tm_scope: source.js + ace_mode: javascript + codemirror_mode: javascript + codemirror_mime_type: text/javascript + aliases: + - jsonc + extensions: + - ".sublime-build" + - ".sublime-commands" + - ".sublime-completions" + - ".sublime-keymap" + - ".sublime-macro" + - ".sublime-menu" + - ".sublime-mousemap" + - ".sublime-project" + - ".sublime-settings" + - ".sublime-theme" + - ".sublime-workspace" + - ".sublime_metrics" + - ".sublime_session" + filenames: + - ".babelrc" + - ".eslintrc.json" + - ".jscsrc" + - ".jshintrc" + - ".jslintrc" + - tsconfig.json + language_id: 423 +JSON5: + type: data + extensions: + - ".json5" + tm_scope: source.js + ace_mode: javascript + codemirror_mode: javascript + codemirror_mime_type: application/json + language_id: 175 +JSONLD: + type: data + group: JavaScript + ace_mode: javascript + extensions: + - ".jsonld" + tm_scope: source.js + language_id: 176 +JSONiq: + color: "#40d47e" + type: programming + ace_mode: jsoniq + codemirror_mode: javascript + codemirror_mime_type: application/json + extensions: + - ".jq" + tm_scope: source.jq + language_id: 177 +JSX: + type: programming + group: JavaScript + extensions: + - ".jsx" + tm_scope: source.js.jsx + ace_mode: javascript + codemirror_mode: jsx + codemirror_mime_type: text/jsx + language_id: 178 +Jasmin: + type: programming + ace_mode: java + extensions: + - ".j" + tm_scope: source.jasmin + language_id: 180 +Java: + type: programming + ace_mode: java + codemirror_mode: clike + codemirror_mime_type: text/x-java + color: "#b07219" + extensions: + - ".java" + language_id: 181 +Java Server Pages: + type: programming + group: Java + aliases: + - jsp + extensions: + - ".jsp" + tm_scope: text.html.jsp + ace_mode: jsp + codemirror_mode: htmlembedded + codemirror_mime_type: application/x-jsp + language_id: 182 +JavaScript: + type: programming + tm_scope: source.js + ace_mode: javascript + codemirror_mode: javascript + codemirror_mime_type: text/javascript + color: "#f1e05a" + aliases: + - js + - node + extensions: + - ".js" + - "._js" + - ".bones" + - ".es" + - ".es6" + - ".frag" + - ".gs" + - ".jake" + - ".jsb" + - ".jscad" + - ".jsfl" + - ".jsm" + - ".jss" + - ".mjs" + - ".njs" + - ".pac" + - ".sjs" + - ".ssjs" + - ".xsjs" + - ".xsjslib" + filenames: + - Jakefile + interpreters: + - node + language_id: 183 +Jison: + type: programming + group: Yacc + extensions: + - ".jison" + tm_scope: source.jison + ace_mode: text + language_id: 284531423 +Jison Lex: + type: programming + group: Lex + extensions: + - ".jisonlex" + tm_scope: source.jisonlex + ace_mode: text + language_id: 406395330 +Jolie: + type: programming + extensions: + - ".ol" + - ".iol" + interpreters: + - jolie + color: "#843179" + ace_mode: text + tm_scope: source.jolie + language_id: 998078858 +Julia: + type: programming + extensions: + - ".jl" + interpreters: + - julia + color: "#a270ba" + ace_mode: julia + codemirror_mode: julia + codemirror_mime_type: text/x-julia + language_id: 184 +Jupyter Notebook: + type: markup + ace_mode: json + codemirror_mode: javascript + codemirror_mime_type: application/json + tm_scope: source.json + color: "#DA5B0B" + extensions: + - ".ipynb" + filenames: + - Notebook + aliases: + - IPython Notebook + language_id: 185 +KRL: + type: programming + color: "#28430A" + extensions: + - ".krl" + tm_scope: none + ace_mode: text + language_id: 186 +KiCad Layout: + type: data + aliases: + - pcbnew + extensions: + - ".kicad_pcb" + - ".kicad_mod" + - ".kicad_wks" + filenames: + - fp-lib-table + tm_scope: source.pcb.sexp + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 187 +KiCad Legacy Layout: + type: data + extensions: + - ".brd" + tm_scope: source.pcb.board + ace_mode: text + language_id: 140848857 +KiCad Schematic: + type: data + aliases: + - eeschema schematic + extensions: + - ".sch" + tm_scope: source.pcb.schematic + ace_mode: text + language_id: 622447435 +Kit: + type: markup + ace_mode: html + codemirror_mode: htmlmixed + codemirror_mime_type: text/html + extensions: + - ".kit" + tm_scope: text.html.basic + language_id: 188 +Kotlin: + type: programming + color: "#F18E33" + extensions: + - ".kt" + - ".ktm" + - ".kts" + tm_scope: source.kotlin + ace_mode: text + codemirror_mode: clike + codemirror_mime_type: text/x-kotlin + language_id: 189 +LFE: + type: programming + color: "#4C3023" + extensions: + - ".lfe" + tm_scope: source.lisp + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 190 +LLVM: + type: programming + extensions: + - ".ll" + ace_mode: text + color: "#185619" + language_id: 191 +LOLCODE: + type: programming + extensions: + - ".lol" + color: "#cc9900" + tm_scope: none + ace_mode: text + language_id: 192 +LSL: + type: programming + ace_mode: lsl + extensions: + - ".lsl" + - ".lslp" + interpreters: + - lsl + color: "#3d9970" + language_id: 193 +LabVIEW: + type: programming + extensions: + - ".lvproj" + tm_scope: text.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 194 +Lasso: + type: programming + color: "#999999" + extensions: + - ".lasso" + - ".las" + - ".lasso8" + - ".lasso9" + - ".ldml" + tm_scope: file.lasso + aliases: + - lassoscript + ace_mode: text + language_id: 195 +Latte: + type: markup + group: HTML + extensions: + - ".latte" + tm_scope: text.html.smarty + ace_mode: smarty + codemirror_mode: smarty + codemirror_mime_type: text/x-smarty + language_id: 196 +Lean: + type: programming + extensions: + - ".lean" + - ".hlean" + ace_mode: text + language_id: 197 +Less: + type: markup + group: CSS + extensions: + - ".less" + tm_scope: source.css.less + ace_mode: less + codemirror_mode: css + codemirror_mime_type: text/css + language_id: 198 +Lex: + type: programming + color: "#DBCA00" + aliases: + - flex + extensions: + - ".l" + - ".lex" + tm_scope: none + ace_mode: text + language_id: 199 +LilyPond: + type: programming + extensions: + - ".ly" + - ".ily" + ace_mode: text + language_id: 200 +Limbo: + type: programming + extensions: + - ".b" + - ".m" + tm_scope: none + ace_mode: text + language_id: 201 +Linker Script: + type: data + extensions: + - ".ld" + - ".lds" + - ".x" + filenames: + - ld.script + tm_scope: none + ace_mode: text + language_id: 202 +Linux Kernel Module: + type: data + extensions: + - ".mod" + tm_scope: none + ace_mode: text + language_id: 203 +Liquid: + type: markup + extensions: + - ".liquid" + tm_scope: text.html.liquid + ace_mode: liquid + language_id: 204 +Literate Agda: + type: programming + group: Agda + extensions: + - ".lagda" + tm_scope: none + ace_mode: text + language_id: 205 +Literate CoffeeScript: + type: programming + tm_scope: source.litcoffee + group: CoffeeScript + ace_mode: text + wrap: true + aliases: + - litcoffee + extensions: + - ".litcoffee" + language_id: 206 +Literate Haskell: + type: programming + group: Haskell + aliases: + - lhaskell + - lhs + extensions: + - ".lhs" + tm_scope: text.tex.latex.haskell + ace_mode: text + codemirror_mode: haskell-literate + codemirror_mime_type: text/x-literate-haskell + language_id: 207 +LiveScript: + type: programming + color: "#499886" + aliases: + - live-script + - ls + extensions: + - ".ls" + - "._ls" + filenames: + - Slakefile + ace_mode: livescript + codemirror_mode: livescript + codemirror_mime_type: text/x-livescript + language_id: 208 +Logos: + type: programming + extensions: + - ".xm" + - ".x" + - ".xi" + ace_mode: text + tm_scope: source.logos + language_id: 209 +Logtalk: + type: programming + extensions: + - ".lgt" + - ".logtalk" + ace_mode: text + language_id: 210 +LookML: + type: programming + ace_mode: yaml + codemirror_mode: yaml + codemirror_mime_type: text/x-yaml + color: "#652B81" + extensions: + - ".lookml" + - ".model.lkml" + - ".view.lkml" + tm_scope: source.yaml + language_id: 211 +LoomScript: + type: programming + extensions: + - ".ls" + tm_scope: source.loomscript + ace_mode: text + language_id: 212 +Lua: + type: programming + ace_mode: lua + codemirror_mode: lua + codemirror_mime_type: text/x-lua + color: "#000080" + extensions: + - ".lua" + - ".fcgi" + - ".nse" + - ".p8" + - ".pd_lua" + - ".rbxs" + - ".wlua" + interpreters: + - lua + language_id: 213 +M: + type: programming + aliases: + - mumps + extensions: + - ".mumps" + - ".m" + ace_mode: text + codemirror_mode: mumps + codemirror_mime_type: text/x-mumps + language_id: 214 + tm_scope: none +M4: + type: programming + extensions: + - ".m4" + tm_scope: none + ace_mode: text + language_id: 215 +M4Sugar: + type: programming + group: M4 + aliases: + - autoconf + extensions: + - ".m4" + filenames: + - configure.ac + tm_scope: none + ace_mode: text + language_id: 216 +MAXScript: + type: programming + color: "#00a6a6" + extensions: + - ".ms" + - ".mcr" + tm_scope: source.maxscript + ace_mode: text + language_id: 217 +MQL4: + type: programming + color: "#62A8D6" + extensions: + - ".mq4" + - ".mqh" + tm_scope: source.mql5 + ace_mode: c_cpp + language_id: 426 +MQL5: + type: programming + color: "#4A76B8" + extensions: + - ".mq5" + - ".mqh" + tm_scope: source.mql5 + ace_mode: c_cpp + language_id: 427 +MTML: + type: markup + color: "#b7e1f4" + extensions: + - ".mtml" + tm_scope: text.html.basic + ace_mode: html + codemirror_mode: htmlmixed + codemirror_mime_type: text/html + language_id: 218 +MUF: + type: programming + group: Forth + extensions: + - ".muf" + - ".m" + tm_scope: none + ace_mode: forth + codemirror_mode: forth + codemirror_mime_type: text/x-forth + language_id: 219 +Makefile: + type: programming + color: "#427819" + aliases: + - bsdmake + - make + - mf + extensions: + - ".mak" + - ".d" + - ".make" + - ".mk" + - ".mkfile" + filenames: + - BSDmakefile + - GNUmakefile + - Kbuild + - Makefile + - Makefile.am + - Makefile.boot + - Makefile.frag + - Makefile.in + - Makefile.inc + - Makefile.wat + - makefile + - makefile.sco + - mkfile + interpreters: + - make + ace_mode: makefile + codemirror_mode: cmake + codemirror_mime_type: text/x-cmake + language_id: 220 +Mako: + type: programming + extensions: + - ".mako" + - ".mao" + tm_scope: text.html.mako + ace_mode: text + language_id: 221 +Markdown: + type: prose + aliases: + - pandoc + ace_mode: markdown + codemirror_mode: gfm + codemirror_mime_type: text/x-gfm + wrap: true + extensions: + - ".md" + - ".markdown" + - ".mdown" + - ".mdwn" + - ".mkd" + - ".mkdn" + - ".mkdown" + - ".ronn" + - ".workbook" + tm_scope: source.gfm + language_id: 222 +Marko: + group: HTML + type: markup + tm_scope: text.marko + extensions: + - ".marko" + aliases: + - markojs + ace_mode: text + codemirror_mode: htmlmixed + codemirror_mime_type: text/html + language_id: 932782397 +Mask: + type: markup + color: "#f97732" + ace_mode: mask + extensions: + - ".mask" + tm_scope: source.mask + language_id: 223 +Mathematica: + type: programming + extensions: + - ".mathematica" + - ".cdf" + - ".m" + - ".ma" + - ".mt" + - ".nb" + - ".nbp" + - ".wl" + - ".wlt" + aliases: + - mma + ace_mode: text + codemirror_mode: mathematica + codemirror_mime_type: text/x-mathematica + language_id: 224 +Matlab: + type: programming + color: "#e16737" + aliases: + - octave + extensions: + - ".matlab" + - ".m" + ace_mode: matlab + codemirror_mode: octave + codemirror_mime_type: text/x-octave + language_id: 225 +Maven POM: + type: data + tm_scope: text.xml.pom + filenames: + - pom.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 226 +Max: + type: programming + color: "#c4a79c" + aliases: + - max/msp + - maxmsp + extensions: + - ".maxpat" + - ".maxhelp" + - ".maxproj" + - ".mxt" + - ".pat" + tm_scope: source.json + ace_mode: json + codemirror_mode: javascript + codemirror_mime_type: application/json + language_id: 227 +MediaWiki: + type: prose + wrap: true + extensions: + - ".mediawiki" + - ".wiki" + tm_scope: text.html.mediawiki + ace_mode: text + language_id: 228 +Mercury: + type: programming + color: "#ff2b2b" + ace_mode: prolog + interpreters: + - mmi + extensions: + - ".m" + - ".moo" + tm_scope: source.mercury + language_id: 229 +Meson: + type: programming + color: "#007800" + filenames: + - meson.build + - meson_options.txt + tm_scope: source.meson + ace_mode: text + language_id: 799141244 +Metal: + type: programming + color: "#8f14e9" + extensions: + - ".metal" + tm_scope: source.c++ + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + language_id: 230 +MiniD: + type: programming + searchable: false + extensions: + - ".minid" + tm_scope: none + ace_mode: text + language_id: 231 +Mirah: + type: programming + color: "#c7a938" + extensions: + - ".druby" + - ".duby" + - ".mirah" + tm_scope: source.ruby + ace_mode: ruby + codemirror_mode: ruby + codemirror_mime_type: text/x-ruby + language_id: 232 +Modelica: + type: programming + extensions: + - ".mo" + tm_scope: source.modelica + ace_mode: text + codemirror_mode: modelica + codemirror_mime_type: text/x-modelica + language_id: 233 +Modula-2: + type: programming + extensions: + - ".mod" + tm_scope: source.modula2 + ace_mode: text + language_id: 234 +Modula-3: + type: programming + extensions: + - ".i3" + - ".ig" + - ".m3" + - ".mg" + color: "#223388" + ace_mode: text + tm_scope: source.modula-3 + language_id: 564743864 +Module Management System: + type: programming + extensions: + - ".mms" + - ".mmk" + filenames: + - descrip.mmk + - descrip.mms + tm_scope: none + ace_mode: text + language_id: 235 +Monkey: + type: programming + extensions: + - ".monkey" + - ".monkey2" + ace_mode: text + tm_scope: source.monkey + language_id: 236 +Moocode: + type: programming + extensions: + - ".moo" + tm_scope: none + ace_mode: text + language_id: 237 +MoonScript: + type: programming + extensions: + - ".moon" + interpreters: + - moon + ace_mode: text + language_id: 238 +Myghty: + type: programming + extensions: + - ".myt" + tm_scope: none + ace_mode: text + language_id: 239 +NCL: + type: programming + color: "#28431f" + extensions: + - ".ncl" + tm_scope: source.ncl + ace_mode: text + language_id: 240 +NL: + type: data + extensions: + - ".nl" + tm_scope: none + ace_mode: text + language_id: 241 +NSIS: + type: programming + extensions: + - ".nsi" + - ".nsh" + ace_mode: text + codemirror_mode: nsis + codemirror_mime_type: text/x-nsis + language_id: 242 +Nearley: + type: programming + ace_mode: text + color: "#990000" + extensions: + - ".ne" + - ".nearley" + tm_scope: source.ne + language_id: 521429430 +Nemerle: + type: programming + color: "#3d3c6e" + extensions: + - ".n" + ace_mode: text + language_id: 243 +NetLinx: + type: programming + color: "#0aa0ff" + extensions: + - ".axs" + - ".axi" + tm_scope: source.netlinx + ace_mode: text + language_id: 244 +NetLinx+ERB: + type: programming + color: "#747faa" + extensions: + - ".axs.erb" + - ".axi.erb" + tm_scope: source.netlinx.erb + ace_mode: text + language_id: 245 +NetLogo: + type: programming + color: "#ff6375" + extensions: + - ".nlogo" + tm_scope: source.lisp + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 246 +NewLisp: + type: programming + color: "#87AED7" + extensions: + - ".nl" + - ".lisp" + - ".lsp" + interpreters: + - newlisp + tm_scope: source.lisp + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 247 +Nextflow: + type: programming + ace_mode: groovy + tm_scope: source.nextflow + color: "#3ac486" + extensions: + - ".nf" + filenames: + - nextflow.config + interpreters: + - nextflow + language_id: 506780613 +Nginx: + type: data + extensions: + - ".nginxconf" + - ".vhost" + filenames: + - nginx.conf + tm_scope: source.nginx + aliases: + - nginx configuration file + ace_mode: text + codemirror_mode: nginx + codemirror_mime_type: text/x-nginx-conf + language_id: 248 +Nim: + type: programming + color: "#37775b" + extensions: + - ".nim" + - ".nimrod" + ace_mode: text + tm_scope: source.nim + language_id: 249 +Ninja: + type: data + tm_scope: source.ninja + extensions: + - ".ninja" + ace_mode: text + language_id: 250 +Nit: + type: programming + color: "#009917" + extensions: + - ".nit" + tm_scope: source.nit + ace_mode: text + language_id: 251 +Nix: + type: programming + color: "#7e7eff" + extensions: + - ".nix" + aliases: + - nixos + tm_scope: source.nix + ace_mode: nix + language_id: 252 +Nu: + type: programming + color: "#c9df40" + aliases: + - nush + extensions: + - ".nu" + filenames: + - Nukefile + tm_scope: source.nu + ace_mode: scheme + codemirror_mode: scheme + codemirror_mime_type: text/x-scheme + interpreters: + - nush + language_id: 253 +NumPy: + type: programming + group: Python + extensions: + - ".numpy" + - ".numpyw" + - ".numsc" + tm_scope: none + ace_mode: text + codemirror_mode: python + codemirror_mime_type: text/x-python + language_id: 254 +OCaml: + type: programming + ace_mode: ocaml + codemirror_mode: mllike + codemirror_mime_type: text/x-ocaml + color: "#3be133" + extensions: + - ".ml" + - ".eliom" + - ".eliomi" + - ".ml4" + - ".mli" + - ".mll" + - ".mly" + interpreters: + - ocaml + - ocamlrun + - ocamlscript + tm_scope: source.ocaml + language_id: 255 +ObjDump: + type: data + extensions: + - ".objdump" + tm_scope: objdump.x86asm + ace_mode: assembly_x86 + language_id: 256 +Objective-C: + type: programming + tm_scope: source.objc + color: "#438eff" + aliases: + - obj-c + - objc + - objectivec + extensions: + - ".m" + - ".h" + ace_mode: objectivec + codemirror_mode: clike + codemirror_mime_type: text/x-objectivec + language_id: 257 +Objective-C++: + type: programming + tm_scope: source.objc++ + color: "#6866fb" + aliases: + - obj-c++ + - objc++ + - objectivec++ + extensions: + - ".mm" + ace_mode: objectivec + codemirror_mode: clike + codemirror_mime_type: text/x-objectivec + language_id: 258 +Objective-J: + type: programming + color: "#ff0c5a" + aliases: + - obj-j + - objectivej + - objj + extensions: + - ".j" + - ".sj" + tm_scope: source.js.objj + ace_mode: text + language_id: 259 +Omgrofl: + type: programming + extensions: + - ".omgrofl" + color: "#cabbff" + tm_scope: none + ace_mode: text + language_id: 260 +Opa: + type: programming + extensions: + - ".opa" + ace_mode: text + language_id: 261 +Opal: + type: programming + color: "#f7ede0" + extensions: + - ".opal" + tm_scope: source.opal + ace_mode: text + language_id: 262 +OpenCL: + type: programming + group: C + extensions: + - ".cl" + - ".opencl" + tm_scope: source.c + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 263 +OpenEdge ABL: + type: programming + aliases: + - progress + - openedge + - abl + extensions: + - ".p" + - ".cls" + - ".w" + tm_scope: source.abl + ace_mode: text + language_id: 264 +OpenRC runscript: + type: programming + group: Shell + aliases: + - openrc + interpreters: + - openrc-run + tm_scope: source.shell + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 265 +OpenSCAD: + type: programming + extensions: + - ".scad" + tm_scope: source.scad + ace_mode: scad + language_id: 266 +OpenType Feature File: + type: data + aliases: + - AFDKO + extensions: + - ".fea" + tm_scope: source.opentype + ace_mode: text + language_id: 374317347 +Org: + type: prose + wrap: true + extensions: + - ".org" + tm_scope: none + ace_mode: text + language_id: 267 +Ox: + type: programming + extensions: + - ".ox" + - ".oxh" + - ".oxo" + tm_scope: source.ox + ace_mode: text + language_id: 268 +Oxygene: + type: programming + color: "#cdd0e3" + extensions: + - ".oxygene" + tm_scope: none + ace_mode: text + language_id: 269 +Oz: + type: programming + color: "#fab738" + extensions: + - ".oz" + tm_scope: source.oz + ace_mode: text + codemirror_mode: oz + codemirror_mime_type: text/x-oz + language_id: 270 +P4: + type: programming + color: "#7055b5" + extensions: + - ".p4" + tm_scope: source.p4 + ace_mode: text + language_id: 348895984 +PAWN: + type: programming + color: "#dbb284" + extensions: + - ".pwn" + - ".inc" + tm_scope: source.pawn + ace_mode: text + language_id: 271 +PHP: + type: programming + tm_scope: text.html.php + ace_mode: php + codemirror_mode: php + codemirror_mime_type: application/x-httpd-php + color: "#4F5D95" + extensions: + - ".php" + - ".aw" + - ".ctp" + - ".fcgi" + - ".inc" + - ".php3" + - ".php4" + - ".php5" + - ".phps" + - ".phpt" + filenames: + - ".php" + - ".php_cs" + - ".php_cs.dist" + - Phakefile + interpreters: + - php + aliases: + - inc + language_id: 272 +PLSQL: + type: programming + ace_mode: sql + codemirror_mode: sql + codemirror_mime_type: text/x-plsql + tm_scope: none + color: "#dad8d8" + extensions: + - ".pls" + - ".bdy" + - ".ddl" + - ".fnc" + - ".pck" + - ".pkb" + - ".pks" + - ".plb" + - ".plsql" + - ".prc" + - ".spc" + - ".sql" + - ".tpb" + - ".tps" + - ".trg" + - ".vw" + language_id: 273 +PLpgSQL: + type: programming + ace_mode: pgsql + codemirror_mode: sql + codemirror_mime_type: text/x-sql + tm_scope: source.sql + extensions: + - ".sql" + language_id: 274 +POV-Ray SDL: + type: programming + aliases: + - pov-ray + - povray + extensions: + - ".pov" + - ".inc" + ace_mode: text + language_id: 275 +Pan: + type: programming + color: "#cc0000" + extensions: + - ".pan" + tm_scope: source.pan + ace_mode: text + language_id: 276 +Papyrus: + type: programming + color: "#6600cc" + extensions: + - ".psc" + tm_scope: source.papyrus.skyrim + ace_mode: text + language_id: 277 +Parrot: + type: programming + color: "#f3ca0a" + extensions: + - ".parrot" + tm_scope: none + ace_mode: text + language_id: 278 +Parrot Assembly: + group: Parrot + type: programming + aliases: + - pasm + extensions: + - ".pasm" + interpreters: + - parrot + tm_scope: none + ace_mode: text + language_id: 279 +Parrot Internal Representation: + group: Parrot + tm_scope: source.parrot.pir + type: programming + aliases: + - pir + extensions: + - ".pir" + interpreters: + - parrot + ace_mode: text + language_id: 280 +Pascal: + type: programming + color: "#E3F171" + extensions: + - ".pas" + - ".dfm" + - ".dpr" + - ".inc" + - ".lpr" + - ".pascal" + - ".pp" + interpreters: + - instantfpc + ace_mode: pascal + codemirror_mode: pascal + codemirror_mime_type: text/x-pascal + language_id: 281 +Pep8: + type: programming + color: "#C76F5B" + extensions: + - ".pep" + ace_mode: text + tm_scope: source.pep8 + language_id: 840372442 +Perl: + type: programming + tm_scope: source.perl + ace_mode: perl + codemirror_mode: perl + codemirror_mime_type: text/x-perl + color: "#0298c3" + extensions: + - ".pl" + - ".al" + - ".cgi" + - ".fcgi" + - ".perl" + - ".ph" + - ".plx" + - ".pm" + - ".psgi" + - ".t" + filenames: + - Makefile.PL + - Rexfile + - ack + - cpanfile + interpreters: + - cperl + - perl + aliases: + - cperl + language_id: 282 +Perl 6: + type: programming + color: "#0000fb" + extensions: + - ".6pl" + - ".6pm" + - ".nqp" + - ".p6" + - ".p6l" + - ".p6m" + - ".pl" + - ".pl6" + - ".pm" + - ".pm6" + - ".t" + interpreters: + - perl6 + aliases: + - perl6 + tm_scope: source.perl6fe + ace_mode: perl + codemirror_mode: perl + codemirror_mime_type: text/x-perl + language_id: 283 +Pic: + type: markup + group: Roff + tm_scope: source.pic + extensions: + - ".pic" + - ".chem" + ace_mode: text + codemirror_mode: troff + codemirror_mime_type: text/troff + language_id: 425 +Pickle: + type: data + extensions: + - ".pkl" + tm_scope: none + ace_mode: text + language_id: 284 +PicoLisp: + type: programming + extensions: + - ".l" + interpreters: + - picolisp + - pil + tm_scope: source.lisp + ace_mode: lisp + language_id: 285 +PigLatin: + type: programming + color: "#fcd7de" + extensions: + - ".pig" + tm_scope: source.pig_latin + ace_mode: text + language_id: 286 +Pike: + type: programming + color: "#005390" + extensions: + - ".pike" + - ".pmod" + interpreters: + - pike + ace_mode: text + language_id: 287 +Pod: + type: prose + ace_mode: perl + codemirror_mode: perl + codemirror_mime_type: text/x-perl + wrap: true + extensions: + - ".pod" + interpreters: + - perl + tm_scope: none + language_id: 288 +PogoScript: + type: programming + color: "#d80074" + extensions: + - ".pogo" + tm_scope: source.pogoscript + ace_mode: text + language_id: 289 +Pony: + type: programming + extensions: + - ".pony" + tm_scope: source.pony + ace_mode: text + language_id: 290 +PostCSS: + type: markup + tm_scope: source.postcss + group: CSS + extensions: + - ".pcss" + ace_mode: text + language_id: 262764437 +PostScript: + type: markup + color: "#da291c" + extensions: + - ".ps" + - ".eps" + - ".pfa" + tm_scope: source.postscript + aliases: + - postscr + ace_mode: text + language_id: 291 +PowerBuilder: + type: programming + color: "#8f0f8d" + extensions: + - ".pbt" + - ".sra" + - ".sru" + - ".srw" + tm_scope: none + ace_mode: text + language_id: 292 +PowerShell: + type: programming + color: "#012456" + ace_mode: powershell + codemirror_mode: powershell + codemirror_mime_type: application/x-powershell + aliases: + - posh + - pwsh + extensions: + - ".ps1" + - ".psd1" + - ".psm1" + interpreters: + - pwsh + language_id: 293 +Processing: + type: programming + color: "#0096D8" + extensions: + - ".pde" + ace_mode: text + language_id: 294 +Prolog: + type: programming + color: "#74283c" + extensions: + - ".pl" + - ".pro" + - ".prolog" + - ".yap" + interpreters: + - swipl + - yap + tm_scope: source.prolog + ace_mode: prolog + language_id: 295 +Propeller Spin: + type: programming + color: "#7fa2a7" + extensions: + - ".spin" + tm_scope: source.spin + ace_mode: text + language_id: 296 +Protocol Buffer: + type: data + aliases: + - protobuf + - Protocol Buffers + extensions: + - ".proto" + tm_scope: source.protobuf + ace_mode: protobuf + codemirror_mode: protobuf + codemirror_mime_type: text/x-protobuf + language_id: 297 +Public Key: + type: data + extensions: + - ".asc" + - ".pub" + tm_scope: none + ace_mode: text + codemirror_mode: asciiarmor + codemirror_mime_type: application/pgp + language_id: 298 +Pug: + group: HTML + type: markup + extensions: + - ".jade" + - ".pug" + tm_scope: text.jade + ace_mode: jade + codemirror_mode: pug + codemirror_mime_type: text/x-pug + language_id: 179 +Puppet: + type: programming + color: "#302B6D" + extensions: + - ".pp" + filenames: + - Modulefile + ace_mode: text + codemirror_mode: puppet + codemirror_mime_type: text/x-puppet + tm_scope: source.puppet + language_id: 299 +Pure Data: + type: data + extensions: + - ".pd" + tm_scope: none + ace_mode: text + language_id: 300 +PureBasic: + type: programming + color: "#5a6986" + extensions: + - ".pb" + - ".pbi" + tm_scope: none + ace_mode: text + language_id: 301 +PureScript: + type: programming + color: "#1D222D" + extensions: + - ".purs" + tm_scope: source.purescript + ace_mode: haskell + codemirror_mode: haskell + codemirror_mime_type: text/x-haskell + language_id: 302 +Python: + type: programming + ace_mode: python + codemirror_mode: python + codemirror_mime_type: text/x-python + color: "#3572A5" + extensions: + - ".py" + - ".bzl" + - ".cgi" + - ".fcgi" + - ".gyp" + - ".gypi" + - ".lmi" + - ".py3" + - ".pyde" + - ".pyi" + - ".pyp" + - ".pyt" + - ".pyw" + - ".rpy" + - ".spec" + - ".tac" + - ".wsgi" + - ".xpy" + filenames: + - ".gclient" + - BUCK + - BUILD + - BUILD.bazel + - SConscript + - SConstruct + - Snakefile + - WORKSPACE + - wscript + interpreters: + - python + - python2 + - python3 + aliases: + - rusthon + - python3 + language_id: 303 +Python console: + type: programming + group: Python + searchable: false + aliases: + - pycon + tm_scope: text.python.console + ace_mode: text + language_id: 428 +Python traceback: + type: data + group: Python + searchable: false + extensions: + - ".pytb" + tm_scope: text.python.traceback + ace_mode: text + language_id: 304 +QML: + type: programming + color: "#44a51c" + extensions: + - ".qml" + - ".qbs" + tm_scope: source.qml + ace_mode: text + language_id: 305 +QMake: + type: programming + extensions: + - ".pro" + - ".pri" + interpreters: + - qmake + ace_mode: text + language_id: 306 +Quake: + type: programming + filenames: + - m3makefile + - m3overrides + color: "#882233" + ace_mode: text + tm_scope: source.quake + language_id: 375265331 +R: + type: programming + color: "#198CE7" + aliases: + - R + - Rscript + - splus + extensions: + - ".r" + - ".rd" + - ".rsx" + filenames: + - ".Rprofile" + - expr-dist + interpreters: + - Rscript + ace_mode: r + codemirror_mode: r + codemirror_mime_type: text/x-rsrc + language_id: 307 +RAML: + type: markup + ace_mode: yaml + codemirror_mode: yaml + codemirror_mime_type: text/x-yaml + tm_scope: source.yaml + color: "#77d9fb" + extensions: + - ".raml" + language_id: 308 +RDoc: + type: prose + ace_mode: rdoc + wrap: true + extensions: + - ".rdoc" + tm_scope: text.rdoc + language_id: 309 +REALbasic: + type: programming + extensions: + - ".rbbas" + - ".rbfrm" + - ".rbmnu" + - ".rbres" + - ".rbtbar" + - ".rbuistate" + tm_scope: source.vbnet + ace_mode: text + language_id: 310 +REXX: + type: programming + aliases: + - arexx + extensions: + - ".rexx" + - ".pprx" + - ".rex" + interpreters: + - regina + - rexx + tm_scope: source.rexx + ace_mode: text + language_id: 311 +RHTML: + type: markup + group: HTML + extensions: + - ".rhtml" + tm_scope: text.html.erb + aliases: + - html+ruby + ace_mode: rhtml + codemirror_mode: htmlembedded + codemirror_mime_type: application/x-erb + language_id: 312 +RMarkdown: + type: prose + wrap: true + ace_mode: markdown + codemirror_mode: gfm + codemirror_mime_type: text/x-gfm + extensions: + - ".rmd" + tm_scope: source.gfm + language_id: 313 +RPC: + type: programming + aliases: + - rpcgen + - oncrpc + - xdr + ace_mode: c_cpp + extensions: + - ".x" + tm_scope: source.c + language_id: 1031374237 +RPM Spec: + type: data + tm_scope: source.rpm-spec + extensions: + - ".spec" + aliases: + - specfile + ace_mode: text + codemirror_mode: rpm + codemirror_mime_type: text/x-rpm-spec + language_id: 314 +RUNOFF: + type: markup + color: "#665a4e" + extensions: + - ".rnh" + - ".rno" + tm_scope: text.runoff + ace_mode: text + language_id: 315 +Racket: + type: programming + color: "#22228f" + extensions: + - ".rkt" + - ".rktd" + - ".rktl" + - ".scrbl" + interpreters: + - racket + tm_scope: source.racket + ace_mode: lisp + language_id: 316 +Ragel: + type: programming + color: "#9d5200" + extensions: + - ".rl" + aliases: + - ragel-rb + - ragel-ruby + tm_scope: none + ace_mode: text + language_id: 317 +Rascal: + type: programming + color: "#fffaa0" + extensions: + - ".rsc" + tm_scope: source.rascal + ace_mode: text + language_id: 173616037 +Raw token data: + type: data + aliases: + - raw + extensions: + - ".raw" + tm_scope: none + ace_mode: text + language_id: 318 +Reason: + type: programming + group: OCaml + ace_mode: rust + codemirror_mode: rust + codemirror_mime_type: text/x-rustsrc + extensions: + - ".re" + - ".rei" + interpreters: + - ocaml + tm_scope: source.reason + language_id: 869538413 +Rebol: + type: programming + color: "#358a5b" + extensions: + - ".reb" + - ".r" + - ".r2" + - ".r3" + - ".rebol" + ace_mode: text + tm_scope: source.rebol + language_id: 319 +Red: + type: programming + color: "#f50000" + extensions: + - ".red" + - ".reds" + aliases: + - red/system + tm_scope: source.red + ace_mode: text + language_id: 320 +Redcode: + type: programming + extensions: + - ".cw" + tm_scope: none + ace_mode: text + language_id: 321 +Regular Expression: + type: data + extensions: + - ".regexp" + - ".regex" + aliases: + - regexp + - regex + ace_mode: text + tm_scope: source.regexp + language_id: 363378884 +Ren'Py: + type: programming + aliases: + - renpy + color: "#ff7f7f" + extensions: + - ".rpy" + tm_scope: source.renpy + ace_mode: python + language_id: 322 +RenderScript: + type: programming + extensions: + - ".rs" + - ".rsh" + tm_scope: none + ace_mode: text + language_id: 323 +Ring: + type: programming + color: "#2D54CB" + extensions: + - ".ring" + tm_scope: source.ring + ace_mode: text + language_id: 431 +RobotFramework: + type: programming + extensions: + - ".robot" + tm_scope: text.robot + ace_mode: text + language_id: 324 +Roff: + type: markup + color: "#ecdebe" + extensions: + - ".man" + - ".1" + - ".1in" + - ".1m" + - ".1x" + - ".2" + - ".3" + - ".3in" + - ".3m" + - ".3qt" + - ".3x" + - ".4" + - ".5" + - ".6" + - ".7" + - ".8" + - ".9" + - ".l" + - ".me" + - ".ms" + - ".n" + - ".nr" + - ".rno" + - ".roff" + - ".tmac" + filenames: + - mmn + - mmt + tm_scope: text.roff + aliases: + - nroff + ace_mode: text + codemirror_mode: troff + codemirror_mime_type: text/troff + language_id: 141 +Rouge: + type: programming + ace_mode: clojure + codemirror_mode: clojure + codemirror_mime_type: text/x-clojure + color: "#cc0088" + extensions: + - ".rg" + tm_scope: source.clojure + language_id: 325 +Ruby: + type: programming + ace_mode: ruby + codemirror_mode: ruby + codemirror_mime_type: text/x-ruby + color: "#701516" + aliases: + - jruby + - macruby + - rake + - rb + - rbx + extensions: + - ".rb" + - ".builder" + - ".eye" + - ".fcgi" + - ".gemspec" + - ".god" + - ".jbuilder" + - ".mspec" + - ".pluginspec" + - ".podspec" + - ".rabl" + - ".rake" + - ".rbuild" + - ".rbw" + - ".rbx" + - ".ru" + - ".ruby" + - ".spec" + - ".thor" + - ".watchr" + interpreters: + - ruby + - macruby + - rake + - jruby + - rbx + filenames: + - ".irbrc" + - ".pryrc" + - Appraisals + - Berksfile + - Brewfile + - Buildfile + - Capfile + - Dangerfile + - Deliverfile + - Fastfile + - Gemfile + - Gemfile.lock + - Guardfile + - Jarfile + - Mavenfile + - Podfile + - Puppetfile + - Rakefile + - Snapfile + - Thorfile + - Vagrantfile + - buildfile + language_id: 326 +Rust: + type: programming + color: "#dea584" + extensions: + - ".rs" + - ".rs.in" + ace_mode: rust + codemirror_mode: rust + codemirror_mime_type: text/x-rustsrc + language_id: 327 +SAS: + type: programming + color: "#B34936" + extensions: + - ".sas" + tm_scope: source.sas + ace_mode: text + codemirror_mode: sas + codemirror_mime_type: text/x-sas + language_id: 328 +SCSS: + type: markup + tm_scope: source.scss + group: CSS + ace_mode: scss + codemirror_mode: css + codemirror_mime_type: text/x-scss + extensions: + - ".scss" + language_id: 329 +SMT: + type: programming + extensions: + - ".smt2" + - ".smt" + interpreters: + - boolector + - cvc4 + - mathsat5 + - opensmt + - smtinterpol + - smt-rat + - stp + - verit + - yices2 + - z3 + tm_scope: source.smt + ace_mode: text + language_id: 330 +SPARQL: + type: data + tm_scope: source.sparql + ace_mode: text + codemirror_mode: sparql + codemirror_mime_type: application/sparql-query + extensions: + - ".sparql" + - ".rq" + language_id: 331 +SQF: + type: programming + color: "#3F3F3F" + extensions: + - ".sqf" + - ".hqf" + tm_scope: source.sqf + ace_mode: text + language_id: 332 +SQL: + type: data + tm_scope: source.sql + ace_mode: sql + codemirror_mode: sql + codemirror_mime_type: text/x-sql + extensions: + - ".sql" + - ".cql" + - ".ddl" + - ".inc" + - ".mysql" + - ".prc" + - ".tab" + - ".udf" + - ".viw" + language_id: 333 +SQLPL: + type: programming + ace_mode: sql + codemirror_mode: sql + codemirror_mime_type: text/x-sql + tm_scope: source.sql + extensions: + - ".sql" + - ".db2" + language_id: 334 +SRecode Template: + type: markup + color: "#348a34" + tm_scope: source.lisp + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + extensions: + - ".srt" + language_id: 335 +STON: + type: data + group: Smalltalk + extensions: + - ".ston" + tm_scope: source.smalltalk + ace_mode: text + language_id: 336 +SVG: + type: data + extensions: + - ".svg" + tm_scope: text.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 337 +Sage: + type: programming + group: Python + extensions: + - ".sage" + - ".sagews" + tm_scope: source.python + ace_mode: python + codemirror_mode: python + codemirror_mime_type: text/x-python + language_id: 338 +SaltStack: + type: programming + color: "#646464" + aliases: + - saltstate + - salt + extensions: + - ".sls" + tm_scope: source.yaml.salt + ace_mode: yaml + codemirror_mode: yaml + codemirror_mime_type: text/x-yaml + language_id: 339 +Sass: + type: markup + tm_scope: source.sass + group: CSS + extensions: + - ".sass" + ace_mode: sass + codemirror_mode: sass + codemirror_mime_type: text/x-sass + language_id: 340 +Scala: + type: programming + ace_mode: scala + codemirror_mode: clike + codemirror_mime_type: text/x-scala + color: "#c22d40" + extensions: + - ".scala" + - ".kojo" + - ".sbt" + - ".sc" + interpreters: + - scala + language_id: 341 +Scaml: + group: HTML + type: markup + extensions: + - ".scaml" + tm_scope: source.scaml + ace_mode: text + language_id: 342 +Scheme: + type: programming + color: "#1e4aec" + extensions: + - ".scm" + - ".sch" + - ".sld" + - ".sls" + - ".sps" + - ".ss" + interpreters: + - guile + - bigloo + - chicken + - csi + - gosh + - r6rs + ace_mode: scheme + codemirror_mode: scheme + codemirror_mime_type: text/x-scheme + language_id: 343 +Scilab: + type: programming + extensions: + - ".sci" + - ".sce" + - ".tst" + ace_mode: text + language_id: 344 +Self: + type: programming + color: "#0579aa" + extensions: + - ".self" + tm_scope: none + ace_mode: text + language_id: 345 +ShaderLab: + type: programming + extensions: + - ".shader" + ace_mode: text + tm_scope: source.shaderlab + language_id: 664257356 +Shell: + type: programming + color: "#89e051" + aliases: + - sh + - shell-script + - bash + - zsh + extensions: + - ".sh" + - ".bash" + - ".bats" + - ".cgi" + - ".command" + - ".fcgi" + - ".ksh" + - ".sh.in" + - ".tmux" + - ".tool" + - ".zsh" + filenames: + - ".bash_history" + - ".bash_logout" + - ".bash_profile" + - ".bashrc" + - ".cshrc" + - ".login" + - ".profile" + - ".zlogin" + - ".zlogout" + - ".zprofile" + - ".zshenv" + - ".zshrc" + - 9fs + - PKGBUILD + - bash_logout + - bash_profile + - bashrc + - cshrc + - gradlew + - login + - man + - profile + - zlogin + - zlogout + - zprofile + - zshenv + - zshrc + interpreters: + - ash + - bash + - dash + - ksh + - mksh + - pdksh + - rc + - sh + - zsh + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 346 +ShellSession: + type: programming + extensions: + - ".sh-session" + aliases: + - bash session + - console + tm_scope: text.shell-session + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 347 +Shen: + type: programming + color: "#120F14" + extensions: + - ".shen" + tm_scope: source.shen + ace_mode: text + language_id: 348 +Slash: + type: programming + color: "#007eff" + extensions: + - ".sl" + tm_scope: text.html.slash + ace_mode: text + language_id: 349 +Slim: + group: HTML + type: markup + extensions: + - ".slim" + tm_scope: text.slim + ace_mode: text + codemirror_mode: slim + codemirror_mime_type: text/x-slim + language_id: 350 +Smali: + type: programming + extensions: + - ".smali" + ace_mode: text + tm_scope: source.smali + language_id: 351 +Smalltalk: + type: programming + color: "#596706" + extensions: + - ".st" + - ".cs" + aliases: + - squeak + ace_mode: text + codemirror_mode: smalltalk + codemirror_mime_type: text/x-stsrc + language_id: 352 +Smarty: + type: programming + extensions: + - ".tpl" + ace_mode: smarty + codemirror_mode: smarty + codemirror_mime_type: text/x-smarty + tm_scope: text.html.smarty + language_id: 353 +Solidity: + type: programming + color: "#AA6746" + ace_mode: text + tm_scope: source.solidity + language_id: 237469032 +SourcePawn: + type: programming + color: "#5c7611" + aliases: + - sourcemod + extensions: + - ".sp" + - ".inc" + - ".sma" + tm_scope: source.sp + ace_mode: text + language_id: 354 +Spline Font Database: + type: data + extensions: + - ".sfd" + tm_scope: text.sfd + ace_mode: yaml + language_id: 767169629 +Squirrel: + type: programming + color: "#800000" + extensions: + - ".nut" + tm_scope: source.c++ + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-c++src + language_id: 355 +Stan: + type: programming + color: "#b2011d" + extensions: + - ".stan" + ace_mode: text + tm_scope: source.stan + language_id: 356 +Standard ML: + type: programming + color: "#dc566d" + aliases: + - sml + extensions: + - ".ML" + - ".fun" + - ".sig" + - ".sml" + tm_scope: source.ml + ace_mode: text + codemirror_mode: mllike + codemirror_mime_type: text/x-ocaml + language_id: 357 +Stata: + type: programming + extensions: + - ".do" + - ".ado" + - ".doh" + - ".ihlp" + - ".mata" + - ".matah" + - ".sthlp" + ace_mode: text + language_id: 358 +Stylus: + type: markup + group: CSS + extensions: + - ".styl" + tm_scope: source.stylus + ace_mode: stylus + language_id: 359 +SubRip Text: + type: data + extensions: + - ".srt" + ace_mode: text + tm_scope: text.srt + language_id: 360 +SugarSS: + type: markup + tm_scope: source.css.postcss.sugarss + group: CSS + extensions: + - ".sss" + ace_mode: text + language_id: 826404698 +SuperCollider: + type: programming + color: "#46390b" + extensions: + - ".sc" + - ".scd" + interpreters: + - sclang + - scsynth + tm_scope: source.supercollider + ace_mode: text + language_id: 361 +Swift: + type: programming + color: "#ffac45" + extensions: + - ".swift" + ace_mode: text + codemirror_mode: swift + codemirror_mime_type: text/x-swift + language_id: 362 +SystemVerilog: + type: programming + color: "#DAE1C2" + extensions: + - ".sv" + - ".svh" + - ".vh" + ace_mode: verilog + codemirror_mode: verilog + codemirror_mime_type: text/x-systemverilog + language_id: 363 +TI Program: + type: programming + ace_mode: text + color: "#A0AA87" + extensions: + - ".8xp" + - ".8xk" + - ".8xk.txt" + - ".8xp.txt" + language_id: 422 + tm_scope: none +TLA: + type: programming + extensions: + - ".tla" + tm_scope: source.tla + ace_mode: text + language_id: 364 +TOML: + type: data + extensions: + - ".toml" + filenames: + - Cargo.lock + - Gopkg.lock + tm_scope: source.toml + ace_mode: toml + codemirror_mode: toml + codemirror_mime_type: text/x-toml + language_id: 365 +TXL: + type: programming + extensions: + - ".txl" + tm_scope: source.txl + ace_mode: text + language_id: 366 +Tcl: + type: programming + color: "#e4cc98" + extensions: + - ".tcl" + - ".adp" + - ".tm" + filenames: + - owh + - starfield + interpreters: + - tclsh + - wish + ace_mode: tcl + codemirror_mode: tcl + codemirror_mime_type: text/x-tcl + language_id: 367 +Tcsh: + type: programming + group: Shell + extensions: + - ".tcsh" + - ".csh" + tm_scope: source.shell + ace_mode: sh + codemirror_mode: shell + codemirror_mime_type: text/x-sh + language_id: 368 +TeX: + type: markup + color: "#3D6117" + ace_mode: tex + codemirror_mode: stex + codemirror_mime_type: text/x-stex + wrap: true + aliases: + - latex + extensions: + - ".tex" + - ".aux" + - ".bbx" + - ".bib" + - ".cbx" + - ".cls" + - ".dtx" + - ".ins" + - ".lbx" + - ".ltx" + - ".mkii" + - ".mkiv" + - ".mkvi" + - ".sty" + - ".toc" + language_id: 369 +Tea: + type: markup + extensions: + - ".tea" + tm_scope: source.tea + ace_mode: text + language_id: 370 +Terra: + type: programming + extensions: + - ".t" + color: "#00004c" + ace_mode: lua + codemirror_mode: lua + codemirror_mime_type: text/x-lua + interpreters: + - lua + language_id: 371 +Text: + type: prose + wrap: true + aliases: + - fundamental + extensions: + - ".txt" + - ".fr" + - ".nb" + - ".ncl" + - ".no" + filenames: + - COPYING + - COPYING.regex + - COPYRIGHT.regex + - FONTLOG + - INSTALL + - INSTALL.mysql + - LICENSE + - LICENSE.mysql + - NEWS + - README.1ST + - README.me + - README.mysql + - click.me + - delete.me + - keep.me + - read.me + - readme.1st + - test.me + tm_scope: none + ace_mode: text + language_id: 372 +Textile: + type: prose + ace_mode: textile + codemirror_mode: textile + codemirror_mime_type: text/x-textile + wrap: true + extensions: + - ".textile" + tm_scope: none + language_id: 373 +Thrift: + type: programming + tm_scope: source.thrift + extensions: + - ".thrift" + ace_mode: text + language_id: 374 +Turing: + type: programming + color: "#cf142b" + extensions: + - ".t" + - ".tu" + tm_scope: source.turing + ace_mode: text + language_id: 375 +Turtle: + type: data + extensions: + - ".ttl" + tm_scope: source.turtle + ace_mode: text + codemirror_mode: turtle + codemirror_mime_type: text/turtle + language_id: 376 +Twig: + type: markup + group: HTML + extensions: + - ".twig" + tm_scope: text.html.twig + ace_mode: twig + codemirror_mode: twig + codemirror_mime_type: text/x-twig + language_id: 377 +Type Language: + type: data + aliases: + - tl + extensions: + - ".tl" + tm_scope: source.tl + ace_mode: text + language_id: 632765617 +TypeScript: + type: programming + color: "#2b7489" + aliases: + - ts + extensions: + - ".ts" + - ".tsx" + tm_scope: source.ts + ace_mode: typescript + codemirror_mode: javascript + codemirror_mime_type: application/typescript + language_id: 378 +Unified Parallel C: + type: programming + group: C + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + extensions: + - ".upc" + tm_scope: source.c + language_id: 379 +Unity3D Asset: + type: data + ace_mode: yaml + codemirror_mode: yaml + codemirror_mime_type: text/x-yaml + extensions: + - ".anim" + - ".asset" + - ".mat" + - ".meta" + - ".prefab" + - ".unity" + tm_scope: source.yaml + language_id: 380 +Unix Assembly: + type: programming + group: Assembly + extensions: + - ".s" + - ".ms" + tm_scope: source.x86 + ace_mode: assembly_x86 + language_id: 120 +Uno: + type: programming + extensions: + - ".uno" + ace_mode: csharp + codemirror_mode: clike + codemirror_mime_type: text/x-csharp + tm_scope: source.cs + language_id: 381 +UnrealScript: + type: programming + color: "#a54c4d" + extensions: + - ".uc" + tm_scope: source.java + ace_mode: java + codemirror_mode: clike + codemirror_mime_type: text/x-java + language_id: 382 +UrWeb: + type: programming + aliases: + - Ur/Web + - Ur + extensions: + - ".ur" + - ".urs" + tm_scope: source.ur + ace_mode: text + language_id: 383 +VCL: + type: programming + color: "#148AA8" + extensions: + - ".vcl" + tm_scope: source.varnish.vcl + ace_mode: text + language_id: 384 +VHDL: + type: programming + color: "#adb2cb" + extensions: + - ".vhdl" + - ".vhd" + - ".vhf" + - ".vhi" + - ".vho" + - ".vhs" + - ".vht" + - ".vhw" + ace_mode: vhdl + codemirror_mode: vhdl + codemirror_mime_type: text/x-vhdl + language_id: 385 +Vala: + type: programming + color: "#fbe5cd" + extensions: + - ".vala" + - ".vapi" + ace_mode: vala + language_id: 386 +Verilog: + type: programming + color: "#b2b7f8" + extensions: + - ".v" + - ".veo" + ace_mode: verilog + codemirror_mode: verilog + codemirror_mime_type: text/x-verilog + language_id: 387 +Vim script: + type: programming + color: "#199f4b" + tm_scope: source.viml + aliases: + - vim + - viml + - nvim + extensions: + - ".vim" + filenames: + - ".gvimrc" + - ".nvimrc" + - ".vimrc" + - _vimrc + - gvimrc + - nvimrc + - vimrc + ace_mode: text + language_id: 388 +Visual Basic: + type: programming + color: "#945db7" + extensions: + - ".vb" + - ".bas" + - ".cls" + - ".frm" + - ".frx" + - ".vba" + - ".vbhtml" + - ".vbs" + tm_scope: source.vbnet + aliases: + - vb.net + - vbnet + ace_mode: text + codemirror_mode: vb + codemirror_mime_type: text/x-vb + language_id: 389 +Volt: + type: programming + color: "#1F1F1F" + extensions: + - ".volt" + tm_scope: source.d + ace_mode: d + codemirror_mode: d + codemirror_mime_type: text/x-d + language_id: 390 +Vue: + type: markup + color: "#2c3e50" + extensions: + - ".vue" + tm_scope: text.html.vue + ace_mode: html + language_id: 391 +Wavefront Material: + type: data + extensions: + - ".mtl" + tm_scope: source.wavefront.mtl + ace_mode: text + language_id: 392 +Wavefront Object: + type: data + extensions: + - ".obj" + tm_scope: source.wavefront.obj + ace_mode: text + language_id: 393 +Web Ontology Language: + type: data + extensions: + - ".owl" + tm_scope: text.xml + ace_mode: xml + language_id: 394 +WebAssembly: + type: programming + color: "#04133b" + extensions: + - ".wast" + - ".wat" + aliases: + - wast + - wasm + tm_scope: source.webassembly + ace_mode: lisp + codemirror_mode: commonlisp + codemirror_mime_type: text/x-common-lisp + language_id: 956556503 +WebIDL: + type: programming + extensions: + - ".webidl" + tm_scope: source.webidl + ace_mode: text + codemirror_mode: webidl + codemirror_mime_type: text/x-webidl + language_id: 395 +World of Warcraft Addon Data: + type: data + extensions: + - ".toc" + tm_scope: source.toc + ace_mode: text + language_id: 396 +X BitMap: + type: data + group: C + aliases: + - xbm + extensions: + - ".xbm" + ace_mode: c_cpp + tm_scope: source.c + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 782911107 +X PixMap: + type: data + group: C + aliases: + - xpm + extensions: + - ".xpm" + - ".pm" + ace_mode: c_cpp + tm_scope: source.c + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 781846279 +X10: + type: programming + aliases: + - xten + ace_mode: text + extensions: + - ".x10" + color: "#4B6BEF" + tm_scope: source.x10 + language_id: 397 +XC: + type: programming + color: "#99DA07" + extensions: + - ".xc" + tm_scope: source.xc + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 398 +XCompose: + type: data + filenames: + - ".XCompose" + - XCompose + - xcompose + tm_scope: config.xcompose + ace_mode: text + language_id: 225167241 +XML: + type: data + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + aliases: + - rss + - xsd + - wsdl + extensions: + - ".xml" + - ".adml" + - ".admx" + - ".ant" + - ".axml" + - ".builds" + - ".ccproj" + - ".ccxml" + - ".clixml" + - ".cproject" + - ".cscfg" + - ".csdef" + - ".csl" + - ".csproj" + - ".ct" + - ".depproj" + - ".dita" + - ".ditamap" + - ".ditaval" + - ".dll.config" + - ".dotsettings" + - ".filters" + - ".fsproj" + - ".fxml" + - ".glade" + - ".gml" + - ".grxml" + - ".iml" + - ".ivy" + - ".jelly" + - ".jsproj" + - ".kml" + - ".launch" + - ".mdpolicy" + - ".mjml" + - ".mm" + - ".mod" + - ".mxml" + - ".natvis" + - ".ncl" + - ".ndproj" + - ".nproj" + - ".nuspec" + - ".odd" + - ".osm" + - ".pkgproj" + - ".plist" + - ".pluginspec" + - ".proj" + - ".props" + - ".ps1xml" + - ".psc1" + - ".pt" + - ".rdf" + - ".resx" + - ".rss" + - ".sch" + - ".scxml" + - ".sfproj" + - ".shproj" + - ".srdf" + - ".storyboard" + - ".stTheme" + - ".sublime-snippet" + - ".targets" + - ".tmCommand" + - ".tml" + - ".tmLanguage" + - ".tmPreferences" + - ".tmSnippet" + - ".tmTheme" + - ".ts" + - ".tsx" + - ".ui" + - ".urdf" + - ".ux" + - ".vbproj" + - ".vcxproj" + - ".vsixmanifest" + - ".vssettings" + - ".vstemplate" + - ".vxml" + - ".wixproj" + - ".wsdl" + - ".wsf" + - ".wxi" + - ".wxl" + - ".wxs" + - ".x3d" + - ".xacro" + - ".xaml" + - ".xib" + - ".xlf" + - ".xliff" + - ".xmi" + - ".xml.dist" + - ".xproj" + - ".xsd" + - ".xspec" + - ".xul" + - ".zcml" + filenames: + - ".classpath" + - ".cproject" + - ".project" + - App.config + - NuGet.config + - Settings.StyleCop + - Web.Debug.config + - Web.Release.config + - Web.config + - packages.config + language_id: 399 +XPages: + type: data + extensions: + - ".xsp-config" + - ".xsp.metadata" + tm_scope: text.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 400 +XProc: + type: programming + extensions: + - ".xpl" + - ".xproc" + tm_scope: text.xml + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + language_id: 401 +XQuery: + type: programming + color: "#5232e7" + extensions: + - ".xquery" + - ".xq" + - ".xql" + - ".xqm" + - ".xqy" + ace_mode: xquery + codemirror_mode: xquery + codemirror_mime_type: application/xquery + tm_scope: source.xq + language_id: 402 +XS: + type: programming + extensions: + - ".xs" + tm_scope: source.c + ace_mode: c_cpp + codemirror_mode: clike + codemirror_mime_type: text/x-csrc + language_id: 403 +XSLT: + type: programming + aliases: + - xsl + extensions: + - ".xslt" + - ".xsl" + tm_scope: text.xml.xsl + ace_mode: xml + codemirror_mode: xml + codemirror_mime_type: text/xml + color: "#EB8CEB" + language_id: 404 +Xojo: + type: programming + extensions: + - ".xojo_code" + - ".xojo_menu" + - ".xojo_report" + - ".xojo_script" + - ".xojo_toolbar" + - ".xojo_window" + tm_scope: source.vbnet + ace_mode: text + language_id: 405 +Xtend: + type: programming + extensions: + - ".xtend" + ace_mode: text + language_id: 406 +YAML: + type: data + tm_scope: source.yaml + aliases: + - yml + extensions: + - ".yml" + - ".mir" + - ".reek" + - ".rviz" + - ".sublime-syntax" + - ".syntax" + - ".yaml" + - ".yaml-tmlanguage" + - ".yml.mysql" + filenames: + - ".clang-format" + - ".clang-tidy" + - ".gemrc" + - glide.lock + ace_mode: yaml + codemirror_mode: yaml + codemirror_mime_type: text/x-yaml + language_id: 407 +YANG: + type: data + extensions: + - ".yang" + tm_scope: source.yang + ace_mode: text + language_id: 408 +YARA: + type: data + ace_mode: text + extensions: + - ".yar" + - ".yara" + tm_scope: source.yara + language_id: 805122868 +Yacc: + type: programming + extensions: + - ".y" + - ".yacc" + - ".yy" + tm_scope: source.bison + ace_mode: text + color: "#4B6C4B" + language_id: 409 +Zephir: + type: programming + color: "#118f9e" + extensions: + - ".zep" + tm_scope: source.php.zephir + ace_mode: php + language_id: 410 +Zimpl: + type: programming + extensions: + - ".zimpl" + - ".zmpl" + - ".zpl" + tm_scope: none + ace_mode: text + language_id: 411 +desktop: + type: data + extensions: + - ".desktop" + - ".desktop.in" + tm_scope: source.desktop + ace_mode: text + language_id: 412 +eC: + type: programming + color: "#913960" + extensions: + - ".ec" + - ".eh" + tm_scope: source.c.ec + ace_mode: text + language_id: 413 +edn: + type: data + ace_mode: clojure + codemirror_mode: clojure + codemirror_mime_type: text/x-clojure + extensions: + - ".edn" + tm_scope: source.clojure + language_id: 414 +fish: + type: programming + group: Shell + interpreters: + - fish + extensions: + - ".fish" + tm_scope: source.fish + ace_mode: text + language_id: 415 +mupad: + type: programming + extensions: + - ".mu" + ace_mode: text + language_id: 416 +nesC: + type: programming + color: "#94B0C7" + extensions: + - ".nc" + ace_mode: text + tm_scope: source.nesc + language_id: 417 +ooc: + type: programming + color: "#b0b77e" + extensions: + - ".ooc" + ace_mode: text + language_id: 418 +q: + type: programming + extensions: + - ".q" + tm_scope: source.q + ace_mode: text + color: "#0040cd" + language_id: 970539067 +reStructuredText: + type: prose + wrap: true + aliases: + - rst + extensions: + - ".rst" + - ".rest" + - ".rest.txt" + - ".rst.txt" + ace_mode: text + codemirror_mode: rst + codemirror_mime_type: text/x-rst + language_id: 419 +sed: + type: programming + color: "#64b970" + extensions: + - ".sed" + interpreters: + - gsed + - minised + - sed + - ssed + ace_mode: text + tm_scope: source.sed + language_id: 847830017 +wdl: + type: programming + color: "#42f1f4" + extensions: + - ".wdl" + tm_scope: source.wdl + ace_mode: text + language_id: 374521672 +wisp: + type: programming + ace_mode: clojure + codemirror_mode: clojure + codemirror_mime_type: text/x-clojure + color: "#7582D1" + extensions: + - ".wisp" + tm_scope: source.clojure + language_id: 420 +xBase: + type: programming + color: "#403a40" + aliases: + - advpl + - clipper + - foxpro + extensions: + - ".prg" + - ".ch" + - ".prw" + tm_scope: source.harbour + ace_mode: text + language_id: 421 -- cgit v1.2.1