├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── SUPPORT.md ├── .gitignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── languages.gemspec ├── lib ├── languages.rb ├── languages.yml ├── languages │ └── version.rb └── popular.yml └── spec ├── languages_spec.rb └── spec_helper.rb /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing to Libraries.io :heart: 2 | Thanks for considering contributing. These guidelines outline how to contribute to the [Libraries.io](http://github.com/librariesio) project. 3 | 4 | ## Table of Contents 5 | [What is Libraries.io all about?](#whats-librariesio-about) 6 | 7 | [Who is Libraries.io for?](#who-is-librariesio-for) 8 | 9 | [What should I know Before I get started?](#what-should-i-know-before-i-get-started) 10 | * [Code of conduct](#code-of-conduct) 11 | * [Language](#language) 12 | * [Installation and setup](#setup) 13 | 14 | [How can I contribute?](#how-can-i-contribute) 15 | * [Reporting bugs](#reporting-bugs) 16 | * [Suggesting enhancements](#suggesting-enhancements) 17 | * [Suggesting a new feature](#suggesting-new-features) 18 | * [Your first contribution](#your-first-contribution) 19 | * [Tackling something meatier](#tackling-something-meatier) 20 | 21 | [How can I talk to other contributors?](#how-can-i-talk-to-other-contributors) 22 | * [Chat](#chat) 23 | * [Video](#video) 24 | * [Social media](#twitter) 25 | 26 | [Who Are Libraries.io's Users?](#who-are-librariesios-users) 27 | 28 | [Our workflow](#workflow) 29 | 30 | 31 | ## What's Libraries.io About? 32 | _Our goal is to raise the quality of all software._ 33 | 34 | By outlining our [mission and strategy](/strategy.md) we hope to give you more power to make decisions and determine how best to spend your time. Specifically we tackle three distinct problems: 35 | 36 | * Discovery: _Helping developers make faster, more informed decisions about the software that they use._ 37 | * Maintainability: _Helping maintainers understand more about the software they depend upon and the consumers of their software._ 38 | * Sustainability: _Supporting undervalued software by highlighting shortfalls in contribution and funneling support to them._ 39 | 40 | The first of these problems is our foccus for Libraries.io. The other two we are trying to tackle at [Tidelift](https://tidelift.com). 41 | 42 | ## Who is Libraries.io For? 43 | Libraries.io currently caters for the needs of three distinct user groups: 44 | 45 | * Google: _is hungry for your linked datas so she can serve you up search traffic_ 46 | * Searcher: _is a developer with a problem, she is looking for something to help solve it._ 47 | * Maintainer: _has a project that is used within and/or incorporates open dependencies. She needs to ensure her project(s) are working as expected for users._ 48 | 49 | These groups have been expanded into [personas](/personas.md) for contributors to reference. 50 | 51 | ## What Should I Know Before I Get Started? 52 | 53 | ### Code of Conduct 54 | Libraries.io is an open and inclusive [community of people](https://github.com/orgs/librariesio/people) working together. We expect contributors to abide by our [contributor code of conduct](CODE_OF_CONDUCT.md) which basically say 'be excellent to each other'. Please report unacceptable behavior to conduct@libraries.io 55 | 56 | ### Language 57 | We communicate predominately in English. Contributions to the project should be made with English as the first language. We are happy for members of the community to communicate in a language other than English in chat, email and video but be aware that this might be considered exclusive by other members of the community. 58 | 59 | ### Documentation 60 | Documentation for the project as a whole is available at [docs.libraries.io](https://docs.libraries.io). These pages are generated from the [documentation](https://github.com/librariesio/documentation) repo. Documentation that needs to be in every repo is replicated in [required-files](https://github.com/librariesio/required-files) (currently limited to [GitHub templates](https://github.com/blog/2111-issue-and-pull-request-templates)). Otherwise documentation will be specific to that repo. For example the main [Libraries.io](https://github.com/librariesio/libraries.io) `README.md` contains information about installing and running the main rails application. 61 | 62 | ### Setup 63 | If you wish to make contributions to Libraries.io then you'll need a local version of the site to test. You can find instructions to install the correct Ruby version, Postgres, and to set up the database in our [README](https://github.com/librariesio/libraries.io/blob/master/README.md#getting-started). 64 | 65 | ## How Can I Contribute? 66 | 67 | ### Reporting Bugs 68 | 69 | The simplest thing that you can do to help us is by filing good bug reports, so here we go: 70 | 71 | #### Before Submitting a Bug Report 72 | 73 | * Double-check that the bug is persistent. The site is still in it's infancy and sometimes artifacts may appear and disappear. 74 | * Double-check the bug hasn't already been reported [on our issue tracker](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio), they *should* be labelled `bug` or `bugsnag`. 75 | 76 | If something hasn't been raised, you can go ahead and create a new issue using [the template](/issue_template.md). If you'd like to help investigate further or fix the bug just mention it in your issue and check out our [workflow](#workflow). 77 | 78 | ### Suggesting Enhancements 79 | 80 | The next simplest thing you can do to help us is by telling us how we can improve the features we already support, here we go: 81 | 82 | #### Before Submitting an Enhancement 83 | 84 | * Check that the enhancement is not already [in our issue tracker](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio), they should be labelled 'enhancement'. 85 | 86 | If there isn't already an issue for feature then go ahead and create a new issue for it using the [template](/issue_template.md). If you'd like to work on the enhancement then just mention it in a comment and check out our [workflow](#workflow). 87 | 88 | ### Suggesting New Features 89 | 90 | If you're into this zone then you need to understand a little more about what we're trying to achieve: 91 | 92 | #### Before Suggesting a Feature 93 | 94 | * Check that it aligns with [our strategy](strategy.md) and is specifically not in line with something we have said we will not do (for the moment this is anything to do with ranking *people*). 95 | * Check that the feature is not already [in our issue tracker](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio), they should be tagged 'feature'. 96 | 97 | If you're still thinking about that killer feature that no one else is thinking about then *please* create an issue for it using the [template](/issue_template.md). 98 | 99 | ### Your First Contribution 100 | You're in luck! We label issues that are ideal for first time contributors with [`first-pr`](https://github.com/search?l=&q=is%3Aopen+is%3Aissue+org%3Alibrariesio+label%3Afirst-pr&ref=advsearch&type=Issues&utf8=%E2%9C%93). For someone who wants something a little more meaty you might find an issue that needs some assistance with [`help wanted`](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio+label%3A%22help+wanted%22&type=Issues). Next you'll want to read our [workflow](#workflow). 101 | 102 | ### Tackling Something Meatier 103 | 104 | Tickets are labeled by size, skills required and to indicate workflow. Details can be found in our [labelling policy](/labelling.md). 105 | 106 | To get you started you might want to check out issues concerning [documentation](https://github.com/librariesio/documentation/issues/), [user experience](https://github.com/librariesio/libraries.io/labels/ux), [visual design](https://github.com/librariesio/libraries.io/issues/labels/visual%20design) or perhaps something already [awaiting help](https://github.com/librariesio/libraries.io/labels/help%20wanted). You may find the following useful: 107 | 108 | * Our [strategy](/strategy.md) which outlines what our goals are, how we are going to achieve those goals and what we are specifically going to avoid. 109 | * An [overview](/overview.md) of the components that make up the Libraries.io project and run the [https://libraries.io](https://libraries.io) site. 110 | 111 | ## How Can I Talk To Other Contributors? 112 | 113 | ### Chat 114 | We use [Slack](http://slack.io) for chat. There's an open invitation available to anyone who wishes to join the conversation at [http://slack.libraries.io](http://slack.libraries.io). 115 | 116 | We try to use the following channels accordingly: 117 | 118 | * `#general` channel is used for general, water cooler-type conversation, contributor updates and issue discussion. 119 | * `#events` is used to share and discuss events that may be of interest to or attended by members of the community 120 | * `#activity` contains notifications from the various platforms that we use to keep the Libraries.io project turning. Including notifications from GitHub, Twitter and our servers. 121 | 122 | Members are encouraged to openly discuss their work, their lives, share views and ask for help using chat. It should be considered a *safe space* in which there is *no such thing as a stupid question*. Conversely no one contributor should ever be expected to have read something said in a chat. If someone should know something then it should be written down as an issue and/or documented in an obvious place for others to find. 123 | 124 | ### Video 125 | [Google Hangouts](http://hangouts.google.com) is our preferred tool for video chat. We operate an [open hangout](http://bit.ly/2kWtYak) for anyone to jump into at any time to discuss issues face to face. 126 | 127 | ### Regular updates 128 | Contributors are encouraged to share what they're working on. We do this through daily or weekly updates in the `#general` channel on Slack. Updates should take the format 'currently working on X, expecting to move onto Y, blocked on Z' where x, y and z are issues in our [issue tracker](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio). 129 | 130 | Additionally we host an [open hangout](http://bit.ly/2kWtYak) for any contributor to join at *5pm BST/GMT on a Tuesday* to discuss their work, the next week's priorities and to ask questions of other contributors regarding any aspect of the project. Again this is considered a *safe space* in which *there is no such thing as a stupid question*. 131 | 132 | ### Mail 133 | The [core team](https://github.com/orgs/librariesio/teams/core) operate a mailing list for project updates. If you'd like to subscribe you'll find a form in the footer on [Libraries.io](http://libraries.io). 134 | 135 | ### Twitter 136 | We have an account on Twitter at [@librariesio](http://twitter.com/librariesio). This is predominately used to retweet news, events and musings by contributors rather than as a direct method of communication. Contributors are encouraged to use @librariesio in a tweet when talking about the project, so that we may retweet if appropriate. The account is moderated and protected by the [core team](https://github.com/orgs/librariesio/teams/core). 137 | 138 | ### Facebook 139 | We have a Facebook page at [@libraries.io](https://www.facebook.com/libraries.io). Again this is predominantly used to gather and reflect news, events and musings by contributors rather than as a direct method of communication. Contributors are encouraged to reference Libraries.io in a post when talking about the project, so that we may reflect this if appropriate. Again the account is moderated and protected by the [core team](https://github.com/orgs/librariesio/teams/core). 140 | 141 | ### Medium 142 | We have a Medium account at [@librariesio](https://medium.com/@librariesio) and once again it is used to reflect news, events and musings by contributors rather than a direct method of communication. Contributors are encouraged to reference @librariesio in a post when talking about the project, so that we may recommend it if appropriate. Again the account is moderated and protected by the [core team](https://github.com/orgs/librariesio/teams/core). 143 | 144 | ## Who Are Libraries.io's Users? 145 | Libraries.io focusses on the following personas: 146 | 147 | ### Google 148 | _Is hungry for linked data so she can serve you up search traffic_ 149 | 150 | ### 'Searcher' 151 | _Is a developer with a problem, she is looking for something to help solve it._ 152 | 153 | ### 'Extender' 154 | _Has her own ideas. She wants access to the raw data so that she can mash up her own service and offer it to the world._ 155 | 156 | ## Workflow 157 | In general we use [GitHub](https://help.github.com/) and [Git](https://git-scm.com/docs/gittutorial) to support our workflow. If you are unfamiliar with those tools then you should check them out until you feel you have a basic understanding of GitHub and a working understanding of Git. Specifically you should understand how forking, branching, committing, PRing and merging works. 158 | 159 | #### Forking 160 | We prefer that contributors fork the project in order to contribute. 161 | 162 | #### Branching 163 | We *try* to use principles of [GitHub-flow](https://lucamezzalira.com/2014/03/10/git-flow-vs-github-flow/) in our branching model. That is the `master` branch will always be deployable to the live site, and that every branch from that will be used to add a feature, fix a bug, improve something or otherwise represent an atomic unit of work. 164 | 165 | #### Ticketing 166 | We *try* to create an issue for everything. That is any bug, feature or enhancement that is worth an open, focussed and documented discussion. 167 | 168 | #### Labelling 169 | We constrain labels as they are a key part of our workflow. Tickets will be labeled according to our [labelling policy](/labelling.md). 170 | 171 | #### Templates 172 | We use templates to guide contributors toward good practice in [filing bugs, requesting enhancements and features](/issue_template.md) and in [issuing pull-requests](/pull_request_template.md). 173 | 174 | #### Commenting 175 | If it is possible to comment your contribution — for instance if you are contributing code — then do so in a way that is simple, clear, concise and lowers the level of understanding necessary for others to comprehend what comes afterward. If you are contributing code it is very likely it will be rejected if it does not contain sufficient comments. 176 | 177 | #### Committing 178 | When committing to a branch be sure to use plain, simple language that describes the incremental changes made on the branch toward the overall goal. Avoid unnecessary complexity. Simplify whenever possible. Assume a reasonable but not comprehensive knowledge of the tools, techniques and context of your work. 179 | 180 | #### Testing 181 | When adding or fixing functionality, tests should be added to help reduce future regressions and breakage. All tests are ran automatically when new commits are pushed to a branch. Pull requests with broken/missing tests are not likely to be merged. 182 | 183 | #### Submitting for Review 184 | Once a piece of work (in a branch) is complete it should be readied for review. This is your last chance to ensure that your contribution is [properly tested](#testing). If you are contributing code it is likely your contribution will be rejected if it would lower the test-coverage. Once this is done you can submit a pull-request following the [template](/pull_request_template.md). 185 | 186 | It is likely that your contributions will need to be checked by at least one member of the [core team](https://github.com/orgs/librariesio/teams/core) prior to merging. It is also incredibly likely that your contribution may need some re-work in order to be accepted. Particularly if it lacks an appropriate level of comments, tests or it is difficult to understand your commits. Please do not take offense if this is the case. We understand that contributors give their time because they want to improve the project but please understand it is another's responsibility to ensure that the project is maintainable, and good practices like these are key to ensuring that is possible. 187 | 188 | #### Reviewing a PR 189 | We appreciate that it may be difficult to offer constructive criticism, but it is a necessary part of ensuring the project is maintainable and successful. If it is difficult to understand something, request it is better documented and/or commented. If you do not feel assured of the robustness of a contribution, request it is better tested. If it is unclear what the goal of the piece of work is and how it relates to the [strategy](/strategy.md), request a clarification in the corresponding issue. If a pull-request has no corresponding issue, decreases test coverage or otherwise decreases the quality of the project. Reject it. Otherwise, merge it. 190 | 191 | #### Merging 192 | As we keep the `master` branch in a permanent state of 'deployment ready' once-merged your contribution will be live on the next deployment. 193 | 194 | #### Deploying 195 | Any member of the [deployers](https://github.com/orgs/librariesio/teams/deployers) team are able to redeploy the site. If you require a deployment then you might find one of them in our `#general` [chat channel on Slack](slack.libraries.io). 196 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thanks for taking the time to raise an issue. This template should guide you through the process of submitting a bug, enhancement or feature request. Please erase any part of this template that is not relevant to your issue. 2 | 3 | ## Bugs 4 | Before submitting a bug report: 5 | 6 | - [ ] Double-check that the bug is persistent, 7 | - [ ] Double-check the bug hasn't already been reported [on our issue tracker](https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio), they *should* be labelled `bug` or `bugsnag`. 8 | 9 | If you have completed those steps then please replace this section with a description of the steps taken to recreate the bug, the expected behavior and the observed behavior. 10 | 11 | ## Enhancements and Features 12 | 13 | Before submitting an enhancement or feature request: 14 | 15 | - [ ] Check that the enhancement is not already [in our issue tracker](https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+org%3Alibrariesio), they should be labelled 'enhancement'., 16 | - [ ] For large feature requests, check that your request aligns with our strategy http://docs.libraries.io/strategy. 17 | 18 | If you have complete the above step then please replace this section with a description of your proposed enhancement or feature, the motivation for it, an approach and any alternative approaches considered, and whether you are willing and able to create a pull request for it. Note that we may close this issue if it's not something we're planning on working on. -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thanks taking the time to contribute. This template should help guide you through the process of creating a pull request for review. Please erase any part of this template that is not relevant to your pull request: 2 | 3 | 4 | - [ ] Have you followed the guidelines for [contributors](http://docs.libraries.io/contributorshandbook)? 5 | - [ ] Have you checked to ensure there aren't other open pull requests on the repository for a similar change? 6 | - [ ] Is there a corresponding ticket for your pull request? 7 | - [ ] Have you written new tests for your changes? 8 | - [ ] Have you successfully run the project with your changes locally? 9 | 10 | If so then please replace this section with a link to the ticket(s) it addressed, an explanation of your change and why you think we should include it. Thanks again! 11 | -------------------------------------------------------------------------------- /.github/SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Libraries.io Support 2 | 3 | If you're looking for support for Libraries.io there are a lot of options, check out: 4 | 5 | * Documentation — https://docs.libraries.io 6 | * Email — support@libraries.io 7 | * Twitter — https://twitter.com/librariesio 8 | * Chat — https://slack.libraries.io 9 | 10 | On Discuss and in the Libraries.io Slack team, there are a bunch of helpful community members that should be willing to point you in the right direction. 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.bundle/ 2 | /.yardoc 3 | /Gemfile.lock 4 | /_yardoc/ 5 | /coverage/ 6 | /doc/ 7 | /pkg/ 8 | /spec/reports/ 9 | /tmp/ 10 | *.bundle 11 | *.so 12 | *.o 13 | *.a 14 | mkmf.log 15 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.2.4 4 | cache: bundler 5 | sudo: false 6 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at andrewnez@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Specify your gem's dependencies in languages.gemspec 4 | gemspec 5 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Andrew Nesbitt 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [Languages](http://libraries.io/rubygems/languages) 2 | 3 | Just the language names and colors extracted from [github-lingust](https://github.com/github/linguist), avoiding the heavy dependencies like `charlock_holmes` which doesn't install well on heroku. 4 | 5 | ## Installation 6 | 7 | Add this line to your application's Gemfile: 8 | 9 | ```ruby 10 | gem 'languages' 11 | ``` 12 | 13 | And then execute: 14 | 15 | $ bundle 16 | 17 | Or install it yourself as: 18 | 19 | $ gem install languages 20 | 21 | ## Usage 22 | 23 | ```ruby 24 | Languages::Language['ruby'] #=> 25 | 26 | Languages::Language.all #=> [#, ..] 27 | 28 | Languages::Language.by_extension('.rb') #=> 29 | ``` 30 | 31 | ## Testing 32 | 33 | Run the tests with: 34 | 35 | $ bundle exec rake 36 | 37 | ## Contributing 38 | 39 | 1. Fork it ( https://github.com/librariesio/languages/fork ) 40 | 2. Create your feature branch (`git checkout -b my-new-feature`) 41 | 3. Commit your changes (`git commit -am 'Add some feature'`) 42 | 4. Push to the branch (`git push origin my-new-feature`) 43 | 5. Create a new Pull Request 44 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env rake 2 | require 'bundler/gem_tasks' 3 | require 'rspec/core/rake_task' 4 | 5 | RSpec::Core::RakeTask.new('spec') 6 | 7 | task default: :spec 8 | -------------------------------------------------------------------------------- /languages.gemspec: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | lib = File.expand_path('../lib', __FILE__) 3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 4 | require 'languages/version' 5 | 6 | Gem::Specification.new do |spec| 7 | spec.name = "languages" 8 | spec.version = Languages::VERSION 9 | spec.authors = ["Andrew Nesbitt"] 10 | spec.email = ["andrewnez@gmail.com"] 11 | spec.summary = "GitHub language details and colors" 12 | spec.description = "Just the language names, details and colors from github-linguist" 13 | spec.homepage = "https://github.com/librariesio/languages" 14 | spec.license = "MIT" 15 | 16 | spec.files = `git ls-files -z`.split("\x0") 17 | spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } 18 | spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) 19 | spec.require_paths = ["lib"] 20 | 21 | spec.add_dependency "escape_utils", "~> 1.1" 22 | 23 | spec.add_development_dependency "bundler", "~> 1.10" 24 | spec.add_development_dependency "rake", "~> 11.1" 25 | spec.add_development_dependency "rspec", "~> 3.4" 26 | end 27 | -------------------------------------------------------------------------------- /lib/languages.rb: -------------------------------------------------------------------------------- 1 | require 'escape_utils' 2 | require 'yaml' 3 | 4 | module Languages 5 | # Language names that are recognizable by GitHub. Defined languages 6 | # can be highlighted, searched and listed under the Top Languages page. 7 | # 8 | # Languages are defined in `lib/languages.yml`. 9 | class Language 10 | @languages = [] 11 | @index = {} 12 | @name_index = {} 13 | @alias_index = {} 14 | @extension_index = {} 15 | 16 | # Valid Languages types 17 | TYPES = [:data, :markup, :programming, :prose] 18 | 19 | # Detect languages by a specific type 20 | # 21 | # type - A symbol that exists within TYPES 22 | # 23 | # Returns an array 24 | def self.by_type(type) 25 | all.select { |h| h.type == type } 26 | end 27 | 28 | # Detect languages by a specific extension 29 | # 30 | # extension - An extension for the file (.ruby) 31 | # 32 | # Returns an array 33 | def self.by_extension(extension) 34 | @extension_index[extension.downcase] 35 | end 36 | 37 | # Internal: Create a new Language object 38 | # 39 | # attributes - A hash of attributes 40 | # 41 | # Returns a Language object 42 | def self.create(attributes = {}) 43 | language = new(attributes) 44 | 45 | @languages << language 46 | 47 | # All Language names should be unique. Raise if there is a duplicate. 48 | if @name_index.key?(language.name) 49 | raise ArgumentError, "Duplicate language name: #{language.name}" 50 | end 51 | 52 | # Language name index 53 | @index[language.name.downcase] = @name_index[language.name.downcase] = language 54 | 55 | language.aliases.each do |name| 56 | # All Language aliases should be unique. Raise if there is a duplicate. 57 | if @alias_index.key?(name) 58 | raise ArgumentError, "Duplicate alias: #{name}" 59 | end 60 | 61 | @index[name.downcase] = @alias_index[name.downcase] = language 62 | end 63 | 64 | language.extensions.each do |extension| 65 | if extension !~ /^\./ 66 | raise ArgumentError, "Extension is missing a '.': #{extension.inspect}" 67 | end 68 | 69 | @extension_index[extension] ||= [] 70 | @extension_index[extension] << language 71 | end 72 | 73 | language.interpreters.each do |interpreter| 74 | @interpreter_index[interpreter] << language 75 | end 76 | 77 | language.filenames.each do |filename| 78 | @filename_index[filename] << language 79 | end 80 | 81 | language 82 | end 83 | 84 | # Public: Get all Languages 85 | # 86 | # Returns an Array of Languages 87 | def self.all 88 | @languages 89 | end 90 | 91 | # Public: Look up Language by its proper name. 92 | # 93 | # name - The String name of the Language 94 | # 95 | # Examples 96 | # 97 | # Language.find_by_name('Ruby') 98 | # # => # 99 | # 100 | # Returns the Language or nil if none was found. 101 | def self.find_by_name(name) 102 | name && @name_index[name.downcase] 103 | end 104 | 105 | # Public: Look up Language by one of its aliases. 106 | # 107 | # name - A String alias of the Language 108 | # 109 | # Examples 110 | # 111 | # Language.find_by_alias('cpp') 112 | # # => # 113 | # 114 | # Returns the Language or nil if none was found. 115 | def self.find_by_alias(name) 116 | name && @alias_index[name.downcase] 117 | end 118 | 119 | # Public: Look up Language by its name. 120 | # 121 | # name - The String name of the Language 122 | # 123 | # Examples 124 | # 125 | # Language['Ruby'] 126 | # # => # 127 | # 128 | # Language['ruby'] 129 | # # => # 130 | # 131 | # Returns the Language or nil if none was found. 132 | def self.[](name) 133 | name && @index[name.downcase] 134 | end 135 | 136 | # Public: A List of popular languages 137 | # 138 | # Popular languages are sorted to the top of language chooser 139 | # dropdowns. 140 | # 141 | # This list is configured in "popular.yml". 142 | # 143 | # Returns an Array of Languages. 144 | def self.popular 145 | @popular ||= all.select(&:popular?).sort_by { |lang| lang.name.downcase } 146 | end 147 | 148 | # Public: A List of non-popular languages 149 | # 150 | # Unpopular languages appear below popular ones in language 151 | # chooser dropdowns. 152 | # 153 | # This list is created from all the languages not listed in "popular.yml". 154 | # 155 | # Returns an Array of Languages. 156 | def self.unpopular 157 | @unpopular ||= all.select(&:unpopular?).sort_by { |lang| lang.name.downcase } 158 | end 159 | 160 | # Public: A List of languages with assigned colors. 161 | # 162 | # Returns an Array of Languages. 163 | def self.colors 164 | @colors ||= all.select(&:color).sort_by { |lang| lang.name.downcase } 165 | end 166 | 167 | # Internal: Initialize a new Language 168 | # 169 | # attributes - A hash of attributes 170 | def initialize(attributes = {}) 171 | # @name is required 172 | @name = attributes[:name] || raise(ArgumentError, "missing name") 173 | 174 | # Set type 175 | @type = attributes[:type] ? attributes[:type].to_sym : nil 176 | if @type && !TYPES.include?(@type) 177 | raise ArgumentError, "invalid type: #{@type}" 178 | end 179 | 180 | @color = attributes[:color] 181 | 182 | # Set aliases 183 | @aliases = [default_alias_name] + (attributes[:aliases] || []) 184 | 185 | # Load the TextMate scope name or try to guess one 186 | @tm_scope = attributes[:tm_scope] || begin 187 | context = case @type 188 | when :data, :markup, :prose 189 | 'text' 190 | when :programming, nil 191 | 'source' 192 | end 193 | "#{context}.#{@name.downcase}" 194 | end 195 | 196 | @ace_mode = attributes[:ace_mode] 197 | @wrap = attributes[:wrap] || false 198 | 199 | # Set legacy search term 200 | @search_term = attributes[:search_term] || default_alias_name 201 | 202 | # Set extensions or default to []. 203 | @extensions = attributes[:extensions] || [] 204 | @interpreters = attributes[:interpreters] || [] 205 | @filenames = attributes[:filenames] || [] 206 | 207 | # Set popular, and searchable flags 208 | @popular = attributes.key?(:popular) ? attributes[:popular] : false 209 | @searchable = attributes.key?(:searchable) ? attributes[:searchable] : true 210 | 211 | # If group name is set, save the name so we can lazy load it later 212 | if attributes[:group_name] 213 | @group = nil 214 | @group_name = attributes[:group_name] 215 | 216 | # Otherwise we can set it to self now 217 | else 218 | @group = self 219 | end 220 | end 221 | 222 | # Public: Get proper name 223 | # 224 | # Examples 225 | # 226 | # # => "Ruby" 227 | # # => "Python" 228 | # # => "Perl" 229 | # 230 | # Returns the name String 231 | attr_reader :name 232 | 233 | # Public: Get type. 234 | # 235 | # Returns a type Symbol or nil. 236 | attr_reader :type 237 | 238 | # Public: Get color. 239 | # 240 | # Returns a hex color String. 241 | attr_reader :color 242 | 243 | # Public: Get aliases 244 | # 245 | # Examples 246 | # 247 | # Language['C++'].aliases 248 | # # => ["cpp"] 249 | # 250 | # Returns an Array of String names 251 | attr_reader :aliases 252 | 253 | # Deprecated: Get code search term 254 | # 255 | # Examples 256 | # 257 | # # => "ruby" 258 | # # => "python" 259 | # # => "perl" 260 | # 261 | # Returns the name String 262 | attr_reader :search_term 263 | 264 | # Public: Get the name of a TextMate-compatible scope 265 | # 266 | # Returns the scope 267 | attr_reader :tm_scope 268 | 269 | # Public: Get Ace mode 270 | # 271 | # Examples 272 | # 273 | # # => "text" 274 | # # => "javascript" 275 | # # => "c_cpp" 276 | # 277 | # Returns a String name or nil 278 | attr_reader :ace_mode 279 | 280 | # Public: Should language lines be wrapped 281 | # 282 | # Returns true or false 283 | attr_reader :wrap 284 | 285 | # Public: Get extensions 286 | # 287 | # Examples 288 | # 289 | # # => ['.rb', '.rake', ...] 290 | # 291 | # Returns the extensions Array 292 | attr_reader :extensions 293 | 294 | # Public: Get interpreters 295 | # 296 | # Examples 297 | # 298 | # # => ['awk', 'gawk', 'mawk' ...] 299 | # 300 | # Returns the interpreters Array 301 | attr_reader :interpreters 302 | 303 | # Public: Get filenames 304 | # 305 | # Examples 306 | # 307 | # # => ['Rakefile', ...] 308 | # 309 | # Returns the extensions Array 310 | attr_reader :filenames 311 | 312 | # Deprecated: Get primary extension 313 | # 314 | # Defaults to the first extension but can be overridden 315 | # in the languages.yml. 316 | # 317 | # The primary extension can not be nil. Tests should verify this. 318 | # 319 | # This method is only used by app/helpers/gists_helper.rb for creating 320 | # the language dropdown. It really should be using `name` instead. 321 | # Would like to drop primary extension. 322 | # 323 | # Returns the extension String. 324 | def primary_extension 325 | extensions.first 326 | end 327 | 328 | # Public: Get URL escaped name. 329 | # 330 | # Examples 331 | # 332 | # "C%23" 333 | # "C%2B%2B" 334 | # "Common%20Lisp" 335 | # 336 | # Returns the escaped String. 337 | def escaped_name 338 | EscapeUtils.escape_url(name).gsub('+', '%20') 339 | end 340 | 341 | # Internal: Get default alias name 342 | # 343 | # Returns the alias name String 344 | def default_alias_name 345 | name.downcase.gsub(/\s/, '-') 346 | end 347 | 348 | # Public: Get Language group 349 | # 350 | # Returns a Language 351 | def group 352 | @group ||= Language.find_by_name(@group_name) 353 | end 354 | 355 | # Public: Is it popular? 356 | # 357 | # Returns true or false 358 | def popular? 359 | @popular 360 | end 361 | 362 | # Public: Is it not popular? 363 | # 364 | # Returns true or false 365 | def unpopular? 366 | !popular? 367 | end 368 | 369 | # Public: Is it searchable? 370 | # 371 | # Unsearchable languages won't by indexed by solr and won't show 372 | # up in the code search dropdown. 373 | # 374 | # Returns true or false 375 | def searchable? 376 | @searchable 377 | end 378 | 379 | # Public: Return name as String representation 380 | def to_s 381 | name 382 | end 383 | 384 | def ==(other) 385 | eql?(other) 386 | end 387 | 388 | def eql?(other) 389 | equal?(other) 390 | end 391 | 392 | def hash 393 | name.hash 394 | end 395 | 396 | def inspect 397 | "#<#{self.class} name=#{name} color=#{color}>" 398 | end 399 | end 400 | 401 | popular = YAML.load_file(File.expand_path("../popular.yml", __FILE__)) 402 | 403 | languages = YAML.load_file(File.expand_path("../languages.yml", __FILE__)) 404 | 405 | languages.each do |name, options| 406 | Language.create( 407 | :name => name, 408 | :color => options['color'], 409 | :type => options['type'], 410 | :aliases => options['aliases'], 411 | :tm_scope => options['tm_scope'], 412 | :ace_mode => options['ace_mode'], 413 | :wrap => options['wrap'], 414 | :group_name => options['group'], 415 | :searchable => options.fetch('searchable', true), 416 | :search_term => options['search_term'], 417 | :popular => popular.include?(name), 418 | :extensions => options['extensions'] 419 | ) 420 | end 421 | end 422 | -------------------------------------------------------------------------------- /lib/languages.yml: -------------------------------------------------------------------------------- 1 | # Defines all Languages known to GitHub. 2 | # 3 | # type - Either data, programming, markup, prose, or nil 4 | # aliases - An Array of additional aliases (implicitly 5 | # includes name.downcase) 6 | # ace_mode - A String name of the Ace Mode used for highlighting whenever 7 | # a file is edited. This must match one of the filenames in http://git.io/3XO_Cg. 8 | # Use "text" if a mode does not exist. 9 | # codemirror_mode - A String name of the CodeMirror Mode used for highlighting whenever a file is edited. 10 | # This must match a mode from https://git.io/vi9Fx 11 | # wrap - Boolean wrap to enable line wrapping (default: false) 12 | # extensions - An Array of associated extensions (the first one is 13 | # considered the primary extension, the others should be 14 | # listed alphabetically) 15 | # interpreters - An Array of associated interpreters 16 | # searchable - Boolean flag to enable searching (defaults to true) 17 | # language_id - Integer used as a language-name-independent indexed field so that we can rename 18 | # languages in Linguist without reindexing all the code on GitHub. Must not be 19 | # changed for existing languages without the explicit permission of GitHub staff. 20 | # color - CSS hex color to represent the language. Only used if type is "programming" or "prose". 21 | # tm_scope - The TextMate scope that represents this programming 22 | # language. This should match one of the scopes listed in 23 | # the grammars.yml file. Use "none" if there is no grammar 24 | # for this language. 25 | # group - Name of the parent language. Languages in a group are counted 26 | # in the statistics as the parent language. 27 | # 28 | # Any additions or modifications (even trivial) should have corresponding 29 | # test changes in `test/test_blob.rb`. 30 | # 31 | # Please keep this list alphabetized. Capitalization comes before lowercase. 32 | 33 | --- 34 | 1C Enterprise: 35 | type: programming 36 | color: "#814CCC" 37 | extensions: 38 | - ".bsl" 39 | - ".os" 40 | tm_scope: source.bsl 41 | ace_mode: text 42 | language_id: 0 43 | ABAP: 44 | type: programming 45 | color: "#E8274B" 46 | extensions: 47 | - ".abap" 48 | ace_mode: abap 49 | language_id: 1 50 | ABNF: 51 | type: data 52 | ace_mode: text 53 | extensions: 54 | - ".abnf" 55 | tm_scope: source.abnf 56 | language_id: 429 57 | AGS Script: 58 | type: programming 59 | color: "#B9D9FF" 60 | aliases: 61 | - ags 62 | extensions: 63 | - ".asc" 64 | - ".ash" 65 | tm_scope: source.c++ 66 | ace_mode: c_cpp 67 | codemirror_mode: clike 68 | codemirror_mime_type: text/x-c++src 69 | language_id: 2 70 | AMPL: 71 | type: programming 72 | color: "#E6EFBB" 73 | extensions: 74 | - ".ampl" 75 | - ".mod" 76 | tm_scope: source.ampl 77 | ace_mode: text 78 | language_id: 3 79 | ANTLR: 80 | type: programming 81 | color: "#9DC3FF" 82 | extensions: 83 | - ".g4" 84 | ace_mode: text 85 | language_id: 4 86 | API Blueprint: 87 | type: markup 88 | color: "#2ACCA8" 89 | ace_mode: markdown 90 | extensions: 91 | - ".apib" 92 | tm_scope: text.html.markdown.source.gfm.apib 93 | language_id: 5 94 | APL: 95 | type: programming 96 | color: "#5A8164" 97 | extensions: 98 | - ".apl" 99 | - ".dyalog" 100 | interpreters: 101 | - apl 102 | - aplx 103 | - dyalog 104 | tm_scope: source.apl 105 | ace_mode: text 106 | codemirror_mode: apl 107 | codemirror_mime_type: text/apl 108 | language_id: 6 109 | ASN.1: 110 | type: data 111 | extensions: 112 | - ".asn" 113 | - ".asn1" 114 | tm_scope: source.asn 115 | ace_mode: text 116 | codemirror_mode: asn.1 117 | codemirror_mime_type: text/x-ttcn-asn 118 | language_id: 7 119 | ASP: 120 | type: programming 121 | color: "#6a40fd" 122 | tm_scope: text.html.asp 123 | aliases: 124 | - aspx 125 | - aspx-vb 126 | extensions: 127 | - ".asp" 128 | - ".asax" 129 | - ".ascx" 130 | - ".ashx" 131 | - ".asmx" 132 | - ".aspx" 133 | - ".axd" 134 | ace_mode: text 135 | codemirror_mode: htmlembedded 136 | codemirror_mime_type: application/x-aspx 137 | language_id: 8 138 | ATS: 139 | type: programming 140 | color: "#1ac620" 141 | aliases: 142 | - ats2 143 | extensions: 144 | - ".dats" 145 | - ".hats" 146 | - ".sats" 147 | tm_scope: source.ats 148 | ace_mode: ocaml 149 | language_id: 9 150 | ActionScript: 151 | type: programming 152 | tm_scope: source.actionscript.3 153 | color: "#882B0F" 154 | aliases: 155 | - actionscript 3 156 | - actionscript3 157 | - as3 158 | extensions: 159 | - ".as" 160 | ace_mode: actionscript 161 | language_id: 10 162 | Ada: 163 | type: programming 164 | color: "#02f88c" 165 | extensions: 166 | - ".adb" 167 | - ".ada" 168 | - ".ads" 169 | aliases: 170 | - ada95 171 | - ada2005 172 | ace_mode: ada 173 | language_id: 11 174 | Agda: 175 | type: programming 176 | color: "#315665" 177 | extensions: 178 | - ".agda" 179 | ace_mode: text 180 | language_id: 12 181 | Alloy: 182 | type: programming 183 | color: "#64C800" 184 | extensions: 185 | - ".als" 186 | ace_mode: text 187 | language_id: 13 188 | Alpine Abuild: 189 | type: programming 190 | group: Shell 191 | aliases: 192 | - abuild 193 | - apkbuild 194 | filenames: 195 | - APKBUILD 196 | tm_scope: source.shell 197 | ace_mode: sh 198 | codemirror_mode: shell 199 | codemirror_mime_type: text/x-sh 200 | language_id: 14 201 | Ant Build System: 202 | type: data 203 | tm_scope: text.xml.ant 204 | filenames: 205 | - ant.xml 206 | - build.xml 207 | ace_mode: xml 208 | codemirror_mode: xml 209 | codemirror_mime_type: application/xml 210 | language_id: 15 211 | ApacheConf: 212 | type: markup 213 | aliases: 214 | - aconf 215 | - apache 216 | extensions: 217 | - ".apacheconf" 218 | - ".vhost" 219 | tm_scope: source.apache-config 220 | ace_mode: apache_conf 221 | language_id: 16 222 | Apex: 223 | type: programming 224 | extensions: 225 | - ".cls" 226 | tm_scope: source.java 227 | ace_mode: java 228 | codemirror_mode: clike 229 | codemirror_mime_type: text/x-java 230 | language_id: 17 231 | Apollo Guidance Computer: 232 | type: programming 233 | group: Assembly 234 | extensions: 235 | - ".agc" 236 | tm_scope: source.agc 237 | ace_mode: assembly_x86 238 | language_id: 18 239 | AppleScript: 240 | type: programming 241 | aliases: 242 | - osascript 243 | extensions: 244 | - ".applescript" 245 | - ".scpt" 246 | interpreters: 247 | - osascript 248 | ace_mode: applescript 249 | color: "#101F1F" 250 | language_id: 19 251 | Arc: 252 | type: programming 253 | color: "#aa2afe" 254 | extensions: 255 | - ".arc" 256 | tm_scope: none 257 | ace_mode: text 258 | language_id: 20 259 | Arduino: 260 | type: programming 261 | color: "#bd79d1" 262 | extensions: 263 | - ".ino" 264 | tm_scope: source.c++ 265 | ace_mode: c_cpp 266 | codemirror_mode: clike 267 | codemirror_mime_type: text/x-c++src 268 | language_id: 21 269 | AsciiDoc: 270 | type: prose 271 | ace_mode: asciidoc 272 | wrap: true 273 | extensions: 274 | - ".asciidoc" 275 | - ".adoc" 276 | - ".asc" 277 | tm_scope: text.html.asciidoc 278 | language_id: 22 279 | AspectJ: 280 | type: programming 281 | color: "#a957b0" 282 | extensions: 283 | - ".aj" 284 | tm_scope: source.aspectj 285 | ace_mode: text 286 | language_id: 23 287 | Assembly: 288 | type: programming 289 | color: "#6E4C13" 290 | aliases: 291 | - nasm 292 | extensions: 293 | - ".asm" 294 | - ".a51" 295 | - ".inc" 296 | - ".nasm" 297 | tm_scope: source.assembly 298 | ace_mode: assembly_x86 299 | language_id: 24 300 | Augeas: 301 | type: programming 302 | extensions: 303 | - ".aug" 304 | tm_scope: none 305 | ace_mode: text 306 | language_id: 25 307 | AutoHotkey: 308 | type: programming 309 | color: "#6594b9" 310 | aliases: 311 | - ahk 312 | extensions: 313 | - ".ahk" 314 | - ".ahkl" 315 | tm_scope: source.ahk 316 | ace_mode: autohotkey 317 | language_id: 26 318 | AutoIt: 319 | type: programming 320 | color: "#1C3552" 321 | aliases: 322 | - au3 323 | - AutoIt3 324 | - AutoItScript 325 | extensions: 326 | - ".au3" 327 | tm_scope: source.autoit 328 | ace_mode: autohotkey 329 | language_id: 27 330 | Awk: 331 | type: programming 332 | extensions: 333 | - ".awk" 334 | - ".auk" 335 | - ".gawk" 336 | - ".mawk" 337 | - ".nawk" 338 | interpreters: 339 | - awk 340 | - gawk 341 | - mawk 342 | - nawk 343 | ace_mode: text 344 | language_id: 28 345 | Batchfile: 346 | type: programming 347 | aliases: 348 | - bat 349 | - batch 350 | - dosbatch 351 | - winbatch 352 | extensions: 353 | - ".bat" 354 | - ".cmd" 355 | tm_scope: source.batchfile 356 | ace_mode: batchfile 357 | color: "#C1F12E" 358 | language_id: 29 359 | Befunge: 360 | type: programming 361 | extensions: 362 | - ".befunge" 363 | ace_mode: text 364 | language_id: 30 365 | Bison: 366 | type: programming 367 | group: Yacc 368 | tm_scope: source.bison 369 | extensions: 370 | - ".bison" 371 | ace_mode: text 372 | language_id: 31 373 | BitBake: 374 | type: programming 375 | tm_scope: none 376 | extensions: 377 | - ".bb" 378 | ace_mode: text 379 | language_id: 32 380 | Blade: 381 | type: markup 382 | group: HTML 383 | extensions: 384 | - ".blade" 385 | - ".blade.php" 386 | tm_scope: text.html.php.blade 387 | ace_mode: text 388 | language_id: 33 389 | BlitzBasic: 390 | type: programming 391 | aliases: 392 | - b3d 393 | - blitz3d 394 | - blitzplus 395 | - bplus 396 | extensions: 397 | - ".bb" 398 | - ".decls" 399 | tm_scope: source.blitzmax 400 | ace_mode: text 401 | language_id: 34 402 | BlitzMax: 403 | type: programming 404 | color: "#cd6400" 405 | extensions: 406 | - ".bmx" 407 | aliases: 408 | - bmax 409 | ace_mode: text 410 | language_id: 35 411 | Bluespec: 412 | type: programming 413 | extensions: 414 | - ".bsv" 415 | tm_scope: source.bsv 416 | ace_mode: verilog 417 | language_id: 36 418 | Boo: 419 | type: programming 420 | color: "#d4bec1" 421 | extensions: 422 | - ".boo" 423 | ace_mode: text 424 | tm_scope: source.boo 425 | language_id: 37 426 | Brainfuck: 427 | type: programming 428 | color: "#2F2530" 429 | extensions: 430 | - ".b" 431 | - ".bf" 432 | tm_scope: source.bf 433 | ace_mode: text 434 | codemirror_mode: brainfuck 435 | codemirror_mime_type: text/x-brainfuck 436 | language_id: 38 437 | Brightscript: 438 | type: programming 439 | extensions: 440 | - ".brs" 441 | tm_scope: source.brightscript 442 | ace_mode: text 443 | language_id: 39 444 | Bro: 445 | type: programming 446 | extensions: 447 | - ".bro" 448 | ace_mode: text 449 | language_id: 40 450 | C: 451 | type: programming 452 | color: "#555555" 453 | extensions: 454 | - ".c" 455 | - ".cats" 456 | - ".h" 457 | - ".idc" 458 | - ".w" 459 | interpreters: 460 | - tcc 461 | ace_mode: c_cpp 462 | codemirror_mode: clike 463 | codemirror_mime_type: text/x-csrc 464 | language_id: 41 465 | C#: 466 | type: programming 467 | ace_mode: csharp 468 | codemirror_mode: clike 469 | codemirror_mime_type: text/x-csharp 470 | tm_scope: source.cs 471 | color: "#178600" 472 | aliases: 473 | - csharp 474 | extensions: 475 | - ".cs" 476 | - ".cake" 477 | - ".cshtml" 478 | - ".csx" 479 | language_id: 42 480 | C++: 481 | type: programming 482 | ace_mode: c_cpp 483 | codemirror_mode: clike 484 | codemirror_mime_type: text/x-c++src 485 | color: "#f34b7d" 486 | aliases: 487 | - cpp 488 | extensions: 489 | - ".cpp" 490 | - ".c++" 491 | - ".cc" 492 | - ".cp" 493 | - ".cxx" 494 | - ".h" 495 | - ".h++" 496 | - ".hh" 497 | - ".hpp" 498 | - ".hxx" 499 | - ".inc" 500 | - ".inl" 501 | - ".ipp" 502 | - ".re" 503 | - ".tcc" 504 | - ".tpp" 505 | language_id: 43 506 | C-ObjDump: 507 | type: data 508 | extensions: 509 | - ".c-objdump" 510 | tm_scope: objdump.x86asm 511 | ace_mode: assembly_x86 512 | language_id: 44 513 | C2hs Haskell: 514 | type: programming 515 | group: Haskell 516 | aliases: 517 | - c2hs 518 | extensions: 519 | - ".chs" 520 | tm_scope: source.haskell 521 | ace_mode: haskell 522 | codemirror_mode: haskell 523 | codemirror_mime_type: text/x-haskell 524 | language_id: 45 525 | CLIPS: 526 | type: programming 527 | extensions: 528 | - ".clp" 529 | tm_scope: source.clips 530 | ace_mode: text 531 | language_id: 46 532 | CMake: 533 | type: programming 534 | extensions: 535 | - ".cmake" 536 | - ".cmake.in" 537 | filenames: 538 | - CMakeLists.txt 539 | ace_mode: text 540 | codemirror_mode: cmake 541 | codemirror_mime_type: text/x-cmake 542 | language_id: 47 543 | COBOL: 544 | type: programming 545 | extensions: 546 | - ".cob" 547 | - ".cbl" 548 | - ".ccp" 549 | - ".cobol" 550 | - ".cpy" 551 | ace_mode: cobol 552 | codemirror_mode: cobol 553 | codemirror_mime_type: text/x-cobol 554 | language_id: 48 555 | COLLADA: 556 | type: data 557 | extensions: 558 | - ".dae" 559 | tm_scope: text.xml 560 | ace_mode: xml 561 | codemirror_mode: xml 562 | codemirror_mime_type: text/xml 563 | language_id: 49 564 | CSON: 565 | type: data 566 | group: CoffeeScript 567 | tm_scope: source.coffee 568 | ace_mode: coffee 569 | codemirror_mode: coffeescript 570 | codemirror_mime_type: text/x-coffeescript 571 | searchable: false 572 | extensions: 573 | - ".cson" 574 | language_id: 424 575 | CSS: 576 | type: markup 577 | tm_scope: source.css 578 | ace_mode: css 579 | codemirror_mode: css 580 | codemirror_mime_type: text/css 581 | color: "#563d7c" 582 | extensions: 583 | - ".css" 584 | language_id: 50 585 | CSV: 586 | type: data 587 | ace_mode: text 588 | tm_scope: none 589 | extensions: 590 | - ".csv" 591 | language_id: 51 592 | Cap'n Proto: 593 | type: programming 594 | tm_scope: source.capnp 595 | extensions: 596 | - ".capnp" 597 | ace_mode: text 598 | language_id: 52 599 | CartoCSS: 600 | type: programming 601 | aliases: 602 | - Carto 603 | extensions: 604 | - ".mss" 605 | ace_mode: text 606 | tm_scope: source.css.mss 607 | language_id: 53 608 | Ceylon: 609 | type: programming 610 | extensions: 611 | - ".ceylon" 612 | ace_mode: text 613 | language_id: 54 614 | Chapel: 615 | type: programming 616 | color: "#8dc63f" 617 | aliases: 618 | - chpl 619 | extensions: 620 | - ".chpl" 621 | ace_mode: text 622 | language_id: 55 623 | Charity: 624 | type: programming 625 | extensions: 626 | - ".ch" 627 | tm_scope: none 628 | ace_mode: text 629 | language_id: 56 630 | ChucK: 631 | type: programming 632 | extensions: 633 | - ".ck" 634 | tm_scope: source.java 635 | ace_mode: java 636 | codemirror_mode: clike 637 | codemirror_mime_type: text/x-java 638 | language_id: 57 639 | Cirru: 640 | type: programming 641 | color: "#ccccff" 642 | ace_mode: cirru 643 | extensions: 644 | - ".cirru" 645 | language_id: 58 646 | Clarion: 647 | type: programming 648 | color: "#db901e" 649 | ace_mode: text 650 | extensions: 651 | - ".clw" 652 | tm_scope: source.clarion 653 | language_id: 59 654 | Clean: 655 | type: programming 656 | color: "#3F85AF" 657 | extensions: 658 | - ".icl" 659 | - ".dcl" 660 | tm_scope: source.clean 661 | ace_mode: text 662 | language_id: 60 663 | Click: 664 | type: programming 665 | color: "#E4E6F3" 666 | extensions: 667 | - ".click" 668 | tm_scope: source.click 669 | ace_mode: text 670 | language_id: 61 671 | Clojure: 672 | type: programming 673 | ace_mode: clojure 674 | codemirror_mode: clojure 675 | codemirror_mime_type: text/x-clojure 676 | color: "#db5855" 677 | extensions: 678 | - ".clj" 679 | - ".boot" 680 | - ".cl2" 681 | - ".cljc" 682 | - ".cljs" 683 | - ".cljs.hl" 684 | - ".cljscm" 685 | - ".cljx" 686 | - ".hic" 687 | filenames: 688 | - riemann.config 689 | language_id: 62 690 | CoffeeScript: 691 | type: programming 692 | tm_scope: source.coffee 693 | ace_mode: coffee 694 | codemirror_mode: coffeescript 695 | codemirror_mime_type: text/x-coffeescript 696 | color: "#244776" 697 | aliases: 698 | - coffee 699 | - coffee-script 700 | extensions: 701 | - ".coffee" 702 | - "._coffee" 703 | - ".cake" 704 | - ".cjsx" 705 | - ".iced" 706 | filenames: 707 | - Cakefile 708 | interpreters: 709 | - coffee 710 | language_id: 63 711 | ColdFusion: 712 | type: programming 713 | ace_mode: coldfusion 714 | color: "#ed2cd6" 715 | aliases: 716 | - cfm 717 | - cfml 718 | - coldfusion html 719 | extensions: 720 | - ".cfm" 721 | - ".cfml" 722 | tm_scope: text.html.cfm 723 | language_id: 64 724 | ColdFusion CFC: 725 | type: programming 726 | group: ColdFusion 727 | ace_mode: coldfusion 728 | aliases: 729 | - cfc 730 | extensions: 731 | - ".cfc" 732 | tm_scope: source.cfscript 733 | language_id: 65 734 | Common Lisp: 735 | type: programming 736 | tm_scope: source.lisp 737 | color: "#3fb68b" 738 | aliases: 739 | - lisp 740 | extensions: 741 | - ".lisp" 742 | - ".asd" 743 | - ".cl" 744 | - ".l" 745 | - ".lsp" 746 | - ".ny" 747 | - ".podsl" 748 | - ".sexp" 749 | interpreters: 750 | - lisp 751 | - sbcl 752 | - ccl 753 | - clisp 754 | - ecl 755 | ace_mode: lisp 756 | codemirror_mode: commonlisp 757 | codemirror_mime_type: text/x-common-lisp 758 | language_id: 66 759 | Component Pascal: 760 | type: programming 761 | color: "#B0CE4E" 762 | extensions: 763 | - ".cp" 764 | - ".cps" 765 | tm_scope: source.pascal 766 | aliases: 767 | - delphi 768 | - objectpascal 769 | ace_mode: pascal 770 | codemirror_mode: pascal 771 | codemirror_mime_type: text/x-pascal 772 | language_id: 67 773 | Cool: 774 | type: programming 775 | extensions: 776 | - ".cl" 777 | tm_scope: source.cool 778 | ace_mode: text 779 | language_id: 68 780 | Coq: 781 | type: programming 782 | extensions: 783 | - ".coq" 784 | - ".v" 785 | ace_mode: text 786 | language_id: 69 787 | Cpp-ObjDump: 788 | type: data 789 | extensions: 790 | - ".cppobjdump" 791 | - ".c++-objdump" 792 | - ".c++objdump" 793 | - ".cpp-objdump" 794 | - ".cxx-objdump" 795 | tm_scope: objdump.x86asm 796 | aliases: 797 | - c++-objdump 798 | ace_mode: assembly_x86 799 | language_id: 70 800 | Creole: 801 | type: prose 802 | wrap: true 803 | extensions: 804 | - ".creole" 805 | tm_scope: text.html.creole 806 | ace_mode: text 807 | language_id: 71 808 | Crystal: 809 | type: programming 810 | color: "#776791" 811 | extensions: 812 | - ".cr" 813 | ace_mode: ruby 814 | codemirror_mode: crystal 815 | codemirror_mime_type: text/x-crystal 816 | tm_scope: source.crystal 817 | interpreters: 818 | - crystal 819 | language_id: 72 820 | Csound: 821 | type: programming 822 | aliases: 823 | - csound-orc 824 | extensions: 825 | - ".orc" 826 | - ".udo" 827 | tm_scope: source.csound 828 | ace_mode: text 829 | language_id: 73 830 | Csound Document: 831 | type: programming 832 | aliases: 833 | - csound-csd 834 | extensions: 835 | - ".csd" 836 | tm_scope: source.csound-document 837 | ace_mode: text 838 | language_id: 74 839 | Csound Score: 840 | type: programming 841 | aliases: 842 | - csound-sco 843 | extensions: 844 | - ".sco" 845 | tm_scope: source.csound-score 846 | ace_mode: text 847 | language_id: 75 848 | Cuda: 849 | type: programming 850 | extensions: 851 | - ".cu" 852 | - ".cuh" 853 | tm_scope: source.cuda-c++ 854 | ace_mode: c_cpp 855 | codemirror_mode: clike 856 | codemirror_mime_type: text/x-c++src 857 | color: "#3A4E3A" 858 | language_id: 77 859 | Cycript: 860 | type: programming 861 | extensions: 862 | - ".cy" 863 | tm_scope: source.js 864 | ace_mode: javascript 865 | codemirror_mode: javascript 866 | codemirror_mime_type: text/javascript 867 | language_id: 78 868 | Cython: 869 | type: programming 870 | group: Python 871 | extensions: 872 | - ".pyx" 873 | - ".pxd" 874 | - ".pxi" 875 | aliases: 876 | - pyrex 877 | ace_mode: text 878 | codemirror_mode: python 879 | codemirror_mime_type: text/x-cython 880 | language_id: 79 881 | D: 882 | type: programming 883 | color: "#ba595e" 884 | extensions: 885 | - ".d" 886 | - ".di" 887 | ace_mode: d 888 | codemirror_mode: d 889 | codemirror_mime_type: text/x-d 890 | language_id: 80 891 | D-ObjDump: 892 | type: data 893 | extensions: 894 | - ".d-objdump" 895 | tm_scope: objdump.x86asm 896 | ace_mode: assembly_x86 897 | language_id: 81 898 | DIGITAL Command Language: 899 | type: programming 900 | aliases: 901 | - dcl 902 | extensions: 903 | - ".com" 904 | tm_scope: none 905 | ace_mode: text 906 | language_id: 82 907 | DM: 908 | type: programming 909 | color: "#447265" 910 | extensions: 911 | - ".dm" 912 | aliases: 913 | - byond 914 | tm_scope: source.dm 915 | ace_mode: c_cpp 916 | language_id: 83 917 | DNS Zone: 918 | type: data 919 | extensions: 920 | - ".zone" 921 | - ".arpa" 922 | tm_scope: text.zone_file 923 | ace_mode: text 924 | language_id: 84 925 | DTrace: 926 | type: programming 927 | aliases: 928 | - dtrace-script 929 | extensions: 930 | - ".d" 931 | interpreters: 932 | - dtrace 933 | tm_scope: source.c 934 | ace_mode: c_cpp 935 | codemirror_mode: clike 936 | codemirror_mime_type: text/x-csrc 937 | language_id: 85 938 | Darcs Patch: 939 | type: data 940 | aliases: 941 | - dpatch 942 | extensions: 943 | - ".darcspatch" 944 | - ".dpatch" 945 | tm_scope: none 946 | ace_mode: text 947 | language_id: 86 948 | Dart: 949 | type: programming 950 | color: "#00B4AB" 951 | extensions: 952 | - ".dart" 953 | interpreters: 954 | - dart 955 | ace_mode: dart 956 | codemirror_mode: dart 957 | codemirror_mime_type: application/dart 958 | language_id: 87 959 | Diff: 960 | type: data 961 | extensions: 962 | - ".diff" 963 | - ".patch" 964 | aliases: 965 | - udiff 966 | tm_scope: source.diff 967 | ace_mode: diff 968 | codemirror_mode: diff 969 | codemirror_mime_type: text/x-diff 970 | language_id: 88 971 | Dockerfile: 972 | type: data 973 | tm_scope: source.dockerfile 974 | extensions: 975 | - ".dockerfile" 976 | filenames: 977 | - Dockerfile 978 | ace_mode: dockerfile 979 | codemirror_mode: dockerfile 980 | codemirror_mime_type: text/x-dockerfile 981 | language_id: 89 982 | Dogescript: 983 | type: programming 984 | color: "#cca760" 985 | extensions: 986 | - ".djs" 987 | tm_scope: none 988 | ace_mode: text 989 | language_id: 90 990 | Dylan: 991 | type: programming 992 | color: "#6c616e" 993 | extensions: 994 | - ".dylan" 995 | - ".dyl" 996 | - ".intr" 997 | - ".lid" 998 | ace_mode: text 999 | codemirror_mode: dylan 1000 | codemirror_mime_type: text/x-dylan 1001 | language_id: 91 1002 | E: 1003 | type: programming 1004 | color: "#ccce35" 1005 | extensions: 1006 | - ".E" 1007 | interpreters: 1008 | - rune 1009 | tm_scope: none 1010 | ace_mode: text 1011 | language_id: 92 1012 | EBNF: 1013 | type: data 1014 | extensions: 1015 | - ".ebnf" 1016 | tm_scope: source.ebnf 1017 | ace_mode: text 1018 | codemirror_mode: ebnf 1019 | codemirror_mime_type: text/x-ebnf 1020 | language_id: 430 1021 | ECL: 1022 | type: programming 1023 | color: "#8a1267" 1024 | extensions: 1025 | - ".ecl" 1026 | - ".eclxml" 1027 | tm_scope: none 1028 | ace_mode: text 1029 | codemirror_mode: ecl 1030 | codemirror_mime_type: text/x-ecl 1031 | language_id: 93 1032 | ECLiPSe: 1033 | type: programming 1034 | group: prolog 1035 | extensions: 1036 | - ".ecl" 1037 | tm_scope: source.prolog.eclipse 1038 | ace_mode: prolog 1039 | language_id: 94 1040 | EJS: 1041 | type: markup 1042 | group: HTML 1043 | extensions: 1044 | - ".ejs" 1045 | tm_scope: text.html.js 1046 | ace_mode: ejs 1047 | language_id: 95 1048 | EQ: 1049 | type: programming 1050 | color: "#a78649" 1051 | extensions: 1052 | - ".eq" 1053 | tm_scope: source.cs 1054 | ace_mode: csharp 1055 | codemirror_mode: clike 1056 | codemirror_mime_type: text/x-csharp 1057 | language_id: 96 1058 | Eagle: 1059 | type: markup 1060 | color: "#814C05" 1061 | extensions: 1062 | - ".sch" 1063 | - ".brd" 1064 | tm_scope: text.xml 1065 | ace_mode: xml 1066 | codemirror_mode: xml 1067 | codemirror_mime_type: text/xml 1068 | language_id: 97 1069 | Ecere Projects: 1070 | type: data 1071 | group: JavaScript 1072 | extensions: 1073 | - ".epj" 1074 | tm_scope: source.json 1075 | ace_mode: json 1076 | codemirror_mode: javascript 1077 | codemirror_mime_type: application/json 1078 | language_id: 98 1079 | Eiffel: 1080 | type: programming 1081 | color: "#946d57" 1082 | extensions: 1083 | - ".e" 1084 | ace_mode: eiffel 1085 | codemirror_mode: eiffel 1086 | codemirror_mime_type: text/x-eiffel 1087 | language_id: 99 1088 | Elixir: 1089 | type: programming 1090 | color: "#6e4a7e" 1091 | extensions: 1092 | - ".ex" 1093 | - ".exs" 1094 | ace_mode: elixir 1095 | filenames: 1096 | - mix.lock 1097 | interpreters: 1098 | - elixir 1099 | language_id: 100 1100 | Elm: 1101 | type: programming 1102 | color: "#60B5CC" 1103 | extensions: 1104 | - ".elm" 1105 | tm_scope: source.elm 1106 | ace_mode: elm 1107 | codemirror_mode: elm 1108 | codemirror_mime_type: text/x-elm 1109 | language_id: 101 1110 | Emacs Lisp: 1111 | type: programming 1112 | tm_scope: source.emacs.lisp 1113 | color: "#c065db" 1114 | aliases: 1115 | - elisp 1116 | - emacs 1117 | filenames: 1118 | - ".abbrev_defs" 1119 | - ".emacs" 1120 | - ".emacs.desktop" 1121 | - ".gnus" 1122 | - ".spacemacs" 1123 | - ".viper" 1124 | - Project.ede 1125 | - _emacs 1126 | - abbrev_defs 1127 | extensions: 1128 | - ".el" 1129 | - ".emacs" 1130 | - ".emacs.desktop" 1131 | ace_mode: lisp 1132 | codemirror_mode: commonlisp 1133 | codemirror_mime_type: text/x-common-lisp 1134 | language_id: 102 1135 | EmberScript: 1136 | type: programming 1137 | color: "#FFF4F3" 1138 | extensions: 1139 | - ".em" 1140 | - ".emberscript" 1141 | tm_scope: source.coffee 1142 | ace_mode: coffee 1143 | codemirror_mode: coffeescript 1144 | codemirror_mime_type: text/x-coffeescript 1145 | language_id: 103 1146 | Erlang: 1147 | type: programming 1148 | color: "#B83998" 1149 | extensions: 1150 | - ".erl" 1151 | - ".app.src" 1152 | - ".es" 1153 | - ".escript" 1154 | - ".hrl" 1155 | - ".xrl" 1156 | - ".yrl" 1157 | filenames: 1158 | - rebar.config 1159 | - rebar.config.lock 1160 | - rebar.lock 1161 | ace_mode: erlang 1162 | codemirror_mode: erlang 1163 | codemirror_mime_type: text/x-erlang 1164 | interpreters: 1165 | - escript 1166 | language_id: 104 1167 | F#: 1168 | type: programming 1169 | color: "#b845fc" 1170 | aliases: 1171 | - fsharp 1172 | extensions: 1173 | - ".fs" 1174 | - ".fsi" 1175 | - ".fsx" 1176 | tm_scope: source.fsharp 1177 | ace_mode: text 1178 | codemirror_mode: mllike 1179 | codemirror_mime_type: text/x-fsharp 1180 | language_id: 105 1181 | FLUX: 1182 | type: programming 1183 | color: "#88ccff" 1184 | extensions: 1185 | - ".fx" 1186 | - ".flux" 1187 | tm_scope: none 1188 | ace_mode: text 1189 | language_id: 106 1190 | Factor: 1191 | type: programming 1192 | color: "#636746" 1193 | extensions: 1194 | - ".factor" 1195 | filenames: 1196 | - ".factor-boot-rc" 1197 | - ".factor-rc" 1198 | ace_mode: text 1199 | codemirror_mode: factor 1200 | codemirror_mime_type: text/x-factor 1201 | language_id: 108 1202 | Fancy: 1203 | type: programming 1204 | color: "#7b9db4" 1205 | extensions: 1206 | - ".fy" 1207 | - ".fancypack" 1208 | filenames: 1209 | - Fakefile 1210 | ace_mode: text 1211 | language_id: 109 1212 | Fantom: 1213 | type: programming 1214 | color: "#dbded5" 1215 | extensions: 1216 | - ".fan" 1217 | tm_scope: none 1218 | ace_mode: text 1219 | language_id: 110 1220 | Filebench WML: 1221 | type: programming 1222 | extensions: 1223 | - ".f" 1224 | tm_scope: none 1225 | ace_mode: text 1226 | language_id: 111 1227 | Filterscript: 1228 | type: programming 1229 | group: RenderScript 1230 | extensions: 1231 | - ".fs" 1232 | tm_scope: none 1233 | ace_mode: text 1234 | language_id: 112 1235 | Formatted: 1236 | type: data 1237 | extensions: 1238 | - ".for" 1239 | - ".eam.fs" 1240 | tm_scope: none 1241 | ace_mode: text 1242 | language_id: 113 1243 | Forth: 1244 | type: programming 1245 | color: "#341708" 1246 | extensions: 1247 | - ".fth" 1248 | - ".4th" 1249 | - ".f" 1250 | - ".for" 1251 | - ".forth" 1252 | - ".fr" 1253 | - ".frt" 1254 | - ".fs" 1255 | ace_mode: forth 1256 | codemirror_mode: forth 1257 | codemirror_mime_type: text/x-forth 1258 | language_id: 114 1259 | Fortran: 1260 | type: programming 1261 | color: "#4d41b1" 1262 | extensions: 1263 | - ".f90" 1264 | - ".f" 1265 | - ".f03" 1266 | - ".f08" 1267 | - ".f77" 1268 | - ".f95" 1269 | - ".for" 1270 | - ".fpp" 1271 | tm_scope: source.fortran.modern 1272 | ace_mode: text 1273 | codemirror_mode: fortran 1274 | codemirror_mime_type: text/x-fortran 1275 | language_id: 107 1276 | FreeMarker: 1277 | type: programming 1278 | color: "#0050b2" 1279 | aliases: 1280 | - ftl 1281 | extensions: 1282 | - ".ftl" 1283 | tm_scope: text.html.ftl 1284 | ace_mode: ftl 1285 | language_id: 115 1286 | Frege: 1287 | type: programming 1288 | color: "#00cafe" 1289 | extensions: 1290 | - ".fr" 1291 | tm_scope: source.haskell 1292 | ace_mode: haskell 1293 | language_id: 116 1294 | G-code: 1295 | type: data 1296 | extensions: 1297 | - ".g" 1298 | - ".gco" 1299 | - ".gcode" 1300 | tm_scope: source.gcode 1301 | ace_mode: gcode 1302 | language_id: 117 1303 | GAMS: 1304 | type: programming 1305 | extensions: 1306 | - ".gms" 1307 | tm_scope: none 1308 | ace_mode: text 1309 | language_id: 118 1310 | GAP: 1311 | type: programming 1312 | extensions: 1313 | - ".g" 1314 | - ".gap" 1315 | - ".gd" 1316 | - ".gi" 1317 | - ".tst" 1318 | tm_scope: source.gap 1319 | ace_mode: text 1320 | language_id: 119 1321 | GCC Machine Description: 1322 | type: programming 1323 | extensions: 1324 | - ".md" 1325 | tm_scope: source.lisp 1326 | ace_mode: lisp 1327 | codemirror_mode: commonlisp 1328 | codemirror_mime_type: text/x-common-lisp 1329 | language_id: 121 1330 | GDB: 1331 | type: programming 1332 | extensions: 1333 | - ".gdb" 1334 | - ".gdbinit" 1335 | tm_scope: source.gdb 1336 | ace_mode: text 1337 | language_id: 122 1338 | GDScript: 1339 | type: programming 1340 | extensions: 1341 | - ".gd" 1342 | tm_scope: source.gdscript 1343 | ace_mode: text 1344 | language_id: 123 1345 | GLSL: 1346 | type: programming 1347 | extensions: 1348 | - ".glsl" 1349 | - ".fp" 1350 | - ".frag" 1351 | - ".frg" 1352 | - ".fs" 1353 | - ".fsh" 1354 | - ".fshader" 1355 | - ".geo" 1356 | - ".geom" 1357 | - ".glslv" 1358 | - ".gshader" 1359 | - ".shader" 1360 | - ".vert" 1361 | - ".vrx" 1362 | - ".vsh" 1363 | - ".vshader" 1364 | ace_mode: glsl 1365 | language_id: 124 1366 | GN: 1367 | type: data 1368 | extensions: 1369 | - ".gn" 1370 | - ".gni" 1371 | interpreters: 1372 | - gn 1373 | tm_scope: source.gn 1374 | ace_mode: python 1375 | codemirror_mode: python 1376 | codemirror_mime_type: text/x-python 1377 | language_id: 302957008 1378 | Game Maker Language: 1379 | type: programming 1380 | color: "#8fb200" 1381 | extensions: 1382 | - ".gml" 1383 | tm_scope: source.c++ 1384 | ace_mode: c_cpp 1385 | codemirror_mode: clike 1386 | codemirror_mime_type: text/x-c++src 1387 | language_id: 125 1388 | Genshi: 1389 | type: programming 1390 | extensions: 1391 | - ".kid" 1392 | tm_scope: text.xml.genshi 1393 | aliases: 1394 | - xml+genshi 1395 | - xml+kid 1396 | ace_mode: xml 1397 | codemirror_mode: xml 1398 | codemirror_mime_type: text/xml 1399 | language_id: 126 1400 | Gentoo Ebuild: 1401 | type: programming 1402 | group: Shell 1403 | extensions: 1404 | - ".ebuild" 1405 | tm_scope: source.shell 1406 | ace_mode: sh 1407 | codemirror_mode: shell 1408 | codemirror_mime_type: text/x-sh 1409 | language_id: 127 1410 | Gentoo Eclass: 1411 | type: programming 1412 | group: Shell 1413 | extensions: 1414 | - ".eclass" 1415 | tm_scope: source.shell 1416 | ace_mode: sh 1417 | codemirror_mode: shell 1418 | codemirror_mime_type: text/x-sh 1419 | language_id: 128 1420 | Gettext Catalog: 1421 | type: prose 1422 | searchable: false 1423 | aliases: 1424 | - pot 1425 | extensions: 1426 | - ".po" 1427 | - ".pot" 1428 | tm_scope: source.po 1429 | ace_mode: text 1430 | language_id: 129 1431 | Gherkin: 1432 | type: programming 1433 | extensions: 1434 | - ".feature" 1435 | tm_scope: text.gherkin.feature 1436 | aliases: 1437 | - cucumber 1438 | ace_mode: text 1439 | color: "#5B2063" 1440 | language_id: 76 1441 | Glyph: 1442 | type: programming 1443 | color: "#e4cc98" 1444 | extensions: 1445 | - ".glf" 1446 | tm_scope: source.tcl 1447 | ace_mode: tcl 1448 | codemirror_mode: tcl 1449 | codemirror_mime_type: text/x-tcl 1450 | language_id: 130 1451 | Gnuplot: 1452 | type: programming 1453 | color: "#f0a9f0" 1454 | extensions: 1455 | - ".gp" 1456 | - ".gnu" 1457 | - ".gnuplot" 1458 | - ".plot" 1459 | - ".plt" 1460 | interpreters: 1461 | - gnuplot 1462 | ace_mode: text 1463 | language_id: 131 1464 | Go: 1465 | type: programming 1466 | color: "#375eab" 1467 | aliases: 1468 | - golang 1469 | extensions: 1470 | - ".go" 1471 | ace_mode: golang 1472 | codemirror_mode: go 1473 | codemirror_mime_type: text/x-go 1474 | language_id: 132 1475 | Golo: 1476 | type: programming 1477 | color: "#88562A" 1478 | extensions: 1479 | - ".golo" 1480 | tm_scope: source.golo 1481 | ace_mode: text 1482 | language_id: 133 1483 | Gosu: 1484 | type: programming 1485 | color: "#82937f" 1486 | extensions: 1487 | - ".gs" 1488 | - ".gst" 1489 | - ".gsx" 1490 | - ".vark" 1491 | tm_scope: source.gosu.2 1492 | ace_mode: text 1493 | language_id: 134 1494 | Grace: 1495 | type: programming 1496 | extensions: 1497 | - ".grace" 1498 | tm_scope: source.grace 1499 | ace_mode: text 1500 | language_id: 135 1501 | Gradle: 1502 | type: data 1503 | extensions: 1504 | - ".gradle" 1505 | tm_scope: source.groovy.gradle 1506 | ace_mode: text 1507 | language_id: 136 1508 | Grammatical Framework: 1509 | type: programming 1510 | aliases: 1511 | - gf 1512 | wrap: false 1513 | extensions: 1514 | - ".gf" 1515 | searchable: true 1516 | color: "#79aa7a" 1517 | tm_scope: source.haskell 1518 | ace_mode: haskell 1519 | codemirror_mode: haskell 1520 | codemirror_mime_type: text/x-haskell 1521 | language_id: 137 1522 | Graph Modeling Language: 1523 | type: data 1524 | extensions: 1525 | - ".gml" 1526 | tm_scope: none 1527 | ace_mode: text 1528 | language_id: 138 1529 | GraphQL: 1530 | type: data 1531 | extensions: 1532 | - ".graphql" 1533 | tm_scope: source.graphql 1534 | ace_mode: text 1535 | language_id: 139 1536 | Graphviz (DOT): 1537 | type: data 1538 | tm_scope: source.dot 1539 | extensions: 1540 | - ".dot" 1541 | - ".gv" 1542 | ace_mode: text 1543 | language_id: 140 1544 | Groovy: 1545 | type: programming 1546 | ace_mode: groovy 1547 | codemirror_mode: groovy 1548 | codemirror_mime_type: text/x-groovy 1549 | color: "#e69f56" 1550 | extensions: 1551 | - ".groovy" 1552 | - ".grt" 1553 | - ".gtpl" 1554 | - ".gvy" 1555 | interpreters: 1556 | - groovy 1557 | filenames: 1558 | - Jenkinsfile 1559 | language_id: 142 1560 | Groovy Server Pages: 1561 | type: programming 1562 | group: Groovy 1563 | aliases: 1564 | - gsp 1565 | - java server page 1566 | extensions: 1567 | - ".gsp" 1568 | tm_scope: text.html.jsp 1569 | ace_mode: jsp 1570 | codemirror_mode: htmlembedded 1571 | codemirror_mime_type: application/x-jsp 1572 | language_id: 143 1573 | HCL: 1574 | type: programming 1575 | extensions: 1576 | - ".hcl" 1577 | - ".tf" 1578 | ace_mode: ruby 1579 | codemirror_mode: ruby 1580 | codemirror_mime_type: text/x-ruby 1581 | tm_scope: source.ruby 1582 | language_id: 144 1583 | HLSL: 1584 | type: programming 1585 | extensions: 1586 | - ".hlsl" 1587 | - ".fx" 1588 | - ".fxh" 1589 | - ".hlsli" 1590 | ace_mode: text 1591 | tm_scope: none 1592 | language_id: 145 1593 | HTML: 1594 | type: markup 1595 | tm_scope: text.html.basic 1596 | ace_mode: html 1597 | codemirror_mode: htmlmixed 1598 | codemirror_mime_type: text/html 1599 | color: "#e44b23" 1600 | aliases: 1601 | - xhtml 1602 | extensions: 1603 | - ".html" 1604 | - ".htm" 1605 | - ".html.hl" 1606 | - ".inc" 1607 | - ".st" 1608 | - ".xht" 1609 | - ".xhtml" 1610 | language_id: 146 1611 | HTML+Django: 1612 | type: markup 1613 | tm_scope: text.html.django 1614 | group: HTML 1615 | extensions: 1616 | - ".jinja" 1617 | - ".mustache" 1618 | - ".njk" 1619 | aliases: 1620 | - django 1621 | - html+django/jinja 1622 | - html+jinja 1623 | - htmldjango 1624 | - njk 1625 | - nunjucks 1626 | ace_mode: django 1627 | codemirror_mode: django 1628 | codemirror_mime_type: text/x-django 1629 | language_id: 147 1630 | HTML+ECR: 1631 | type: markup 1632 | tm_scope: text.html.ecr 1633 | group: HTML 1634 | aliases: 1635 | - ecr 1636 | extensions: 1637 | - ".ecr" 1638 | ace_mode: text 1639 | codemirror_mode: htmlmixed 1640 | codemirror_mime_type: text/html 1641 | language_id: 148 1642 | HTML+EEX: 1643 | type: markup 1644 | tm_scope: text.html.elixir 1645 | group: HTML 1646 | aliases: 1647 | - eex 1648 | extensions: 1649 | - ".eex" 1650 | ace_mode: text 1651 | codemirror_mode: htmlmixed 1652 | codemirror_mime_type: text/html 1653 | language_id: 149 1654 | HTML+ERB: 1655 | type: markup 1656 | tm_scope: text.html.erb 1657 | group: HTML 1658 | aliases: 1659 | - erb 1660 | extensions: 1661 | - ".erb" 1662 | - ".erb.deface" 1663 | ace_mode: text 1664 | codemirror_mode: htmlembedded 1665 | codemirror_mime_type: application/x-erb 1666 | language_id: 150 1667 | HTML+PHP: 1668 | type: markup 1669 | tm_scope: text.html.php 1670 | group: HTML 1671 | extensions: 1672 | - ".phtml" 1673 | ace_mode: php 1674 | codemirror_mode: php 1675 | codemirror_mime_type: application/x-httpd-php 1676 | language_id: 151 1677 | HTTP: 1678 | type: data 1679 | extensions: 1680 | - ".http" 1681 | tm_scope: source.httpspec 1682 | ace_mode: text 1683 | codemirror_mode: http 1684 | codemirror_mime_type: message/http 1685 | language_id: 152 1686 | Hack: 1687 | type: programming 1688 | ace_mode: php 1689 | codemirror_mode: php 1690 | codemirror_mime_type: application/x-httpd-php 1691 | extensions: 1692 | - ".hh" 1693 | - ".php" 1694 | tm_scope: text.html.php 1695 | color: "#878787" 1696 | language_id: 153 1697 | Haml: 1698 | group: HTML 1699 | type: markup 1700 | extensions: 1701 | - ".haml" 1702 | - ".haml.deface" 1703 | ace_mode: haml 1704 | codemirror_mode: haml 1705 | codemirror_mime_type: text/x-haml 1706 | language_id: 154 1707 | Handlebars: 1708 | type: markup 1709 | group: HTML 1710 | aliases: 1711 | - hbs 1712 | - htmlbars 1713 | extensions: 1714 | - ".handlebars" 1715 | - ".hbs" 1716 | tm_scope: text.html.handlebars 1717 | ace_mode: handlebars 1718 | language_id: 155 1719 | Harbour: 1720 | type: programming 1721 | color: "#0e60e3" 1722 | extensions: 1723 | - ".hb" 1724 | tm_scope: source.harbour 1725 | ace_mode: text 1726 | language_id: 156 1727 | Haskell: 1728 | type: programming 1729 | color: "#29b544" 1730 | extensions: 1731 | - ".hs" 1732 | - ".hsc" 1733 | interpreters: 1734 | - runhaskell 1735 | ace_mode: haskell 1736 | codemirror_mode: haskell 1737 | codemirror_mime_type: text/x-haskell 1738 | language_id: 157 1739 | Haxe: 1740 | type: programming 1741 | ace_mode: haxe 1742 | codemirror_mode: haxe 1743 | codemirror_mime_type: text/x-haxe 1744 | color: "#df7900" 1745 | extensions: 1746 | - ".hx" 1747 | - ".hxsl" 1748 | tm_scope: source.haxe.2 1749 | language_id: 158 1750 | Hy: 1751 | type: programming 1752 | ace_mode: text 1753 | color: "#7790B2" 1754 | extensions: 1755 | - ".hy" 1756 | aliases: 1757 | - hylang 1758 | tm_scope: source.hy 1759 | language_id: 159 1760 | HyPhy: 1761 | type: programming 1762 | ace_mode: text 1763 | extensions: 1764 | - ".bf" 1765 | tm_scope: none 1766 | language_id: 160 1767 | IDL: 1768 | type: programming 1769 | color: "#a3522f" 1770 | extensions: 1771 | - ".pro" 1772 | - ".dlm" 1773 | ace_mode: text 1774 | codemirror_mode: idl 1775 | codemirror_mime_type: text/x-idl 1776 | language_id: 161 1777 | IGOR Pro: 1778 | type: programming 1779 | extensions: 1780 | - ".ipf" 1781 | aliases: 1782 | - igor 1783 | - igorpro 1784 | tm_scope: none 1785 | ace_mode: text 1786 | language_id: 162 1787 | INI: 1788 | type: data 1789 | extensions: 1790 | - ".ini" 1791 | - ".cfg" 1792 | - ".prefs" 1793 | - ".pro" 1794 | - ".properties" 1795 | tm_scope: source.ini 1796 | aliases: 1797 | - dosini 1798 | ace_mode: ini 1799 | codemirror_mode: properties 1800 | codemirror_mime_type: text/x-properties 1801 | language_id: 163 1802 | IRC log: 1803 | type: data 1804 | aliases: 1805 | - irc 1806 | - irc logs 1807 | extensions: 1808 | - ".irclog" 1809 | - ".weechatlog" 1810 | tm_scope: none 1811 | ace_mode: text 1812 | codemirror_mode: mirc 1813 | codemirror_mime_type: text/mirc 1814 | language_id: 164 1815 | Idris: 1816 | type: programming 1817 | extensions: 1818 | - ".idr" 1819 | - ".lidr" 1820 | ace_mode: text 1821 | tm_scope: source.idris 1822 | language_id: 165 1823 | Inform 7: 1824 | type: programming 1825 | wrap: true 1826 | extensions: 1827 | - ".ni" 1828 | - ".i7x" 1829 | tm_scope: source.inform7 1830 | aliases: 1831 | - i7 1832 | - inform7 1833 | ace_mode: text 1834 | language_id: 166 1835 | Inno Setup: 1836 | type: programming 1837 | extensions: 1838 | - ".iss" 1839 | tm_scope: none 1840 | ace_mode: text 1841 | language_id: 167 1842 | Io: 1843 | type: programming 1844 | color: "#a9188d" 1845 | extensions: 1846 | - ".io" 1847 | interpreters: 1848 | - io 1849 | ace_mode: io 1850 | language_id: 168 1851 | Ioke: 1852 | type: programming 1853 | color: "#078193" 1854 | extensions: 1855 | - ".ik" 1856 | interpreters: 1857 | - ioke 1858 | ace_mode: text 1859 | language_id: 169 1860 | Isabelle: 1861 | type: programming 1862 | color: "#FEFE00" 1863 | extensions: 1864 | - ".thy" 1865 | tm_scope: source.isabelle.theory 1866 | ace_mode: text 1867 | language_id: 170 1868 | Isabelle ROOT: 1869 | type: programming 1870 | group: Isabelle 1871 | filenames: 1872 | - ROOT 1873 | tm_scope: source.isabelle.root 1874 | ace_mode: text 1875 | language_id: 171 1876 | J: 1877 | type: programming 1878 | color: "#9EEDFF" 1879 | extensions: 1880 | - ".ijs" 1881 | interpreters: 1882 | - jconsole 1883 | tm_scope: source.j 1884 | ace_mode: text 1885 | language_id: 172 1886 | JFlex: 1887 | type: programming 1888 | group: Lex 1889 | extensions: 1890 | - ".flex" 1891 | - ".jflex" 1892 | tm_scope: source.jflex 1893 | ace_mode: text 1894 | language_id: 173 1895 | JSON: 1896 | type: data 1897 | tm_scope: source.json 1898 | group: JavaScript 1899 | ace_mode: json 1900 | codemirror_mode: javascript 1901 | codemirror_mime_type: application/json 1902 | searchable: false 1903 | extensions: 1904 | - ".json" 1905 | - ".geojson" 1906 | - ".JSON-tmLanguage" 1907 | - ".topojson" 1908 | filenames: 1909 | - ".arcconfig" 1910 | - ".jshintrc" 1911 | - composer.lock 1912 | - mcmod.info 1913 | language_id: 174 1914 | JSON5: 1915 | type: data 1916 | extensions: 1917 | - ".json5" 1918 | filenames: 1919 | - ".babelrc" 1920 | tm_scope: source.js 1921 | ace_mode: javascript 1922 | codemirror_mode: javascript 1923 | codemirror_mime_type: application/json 1924 | language_id: 175 1925 | JSONLD: 1926 | type: data 1927 | group: JavaScript 1928 | ace_mode: javascript 1929 | extensions: 1930 | - ".jsonld" 1931 | tm_scope: source.js 1932 | language_id: 176 1933 | JSONiq: 1934 | color: "#40d47e" 1935 | type: programming 1936 | ace_mode: jsoniq 1937 | codemirror_mode: javascript 1938 | codemirror_mime_type: application/json 1939 | extensions: 1940 | - ".jq" 1941 | tm_scope: source.jq 1942 | language_id: 177 1943 | JSX: 1944 | type: programming 1945 | group: JavaScript 1946 | extensions: 1947 | - ".jsx" 1948 | tm_scope: source.js.jsx 1949 | ace_mode: javascript 1950 | codemirror_mode: jsx 1951 | codemirror_mime_type: text/jsx 1952 | language_id: 178 1953 | Jasmin: 1954 | type: programming 1955 | ace_mode: java 1956 | extensions: 1957 | - ".j" 1958 | tm_scope: source.jasmin 1959 | language_id: 180 1960 | Java: 1961 | type: programming 1962 | ace_mode: java 1963 | codemirror_mode: clike 1964 | codemirror_mime_type: text/x-java 1965 | color: "#b07219" 1966 | extensions: 1967 | - ".java" 1968 | language_id: 181 1969 | Java Server Pages: 1970 | type: programming 1971 | group: Java 1972 | aliases: 1973 | - jsp 1974 | extensions: 1975 | - ".jsp" 1976 | tm_scope: text.html.jsp 1977 | ace_mode: jsp 1978 | codemirror_mode: htmlembedded 1979 | codemirror_mime_type: application/x-jsp 1980 | language_id: 182 1981 | JavaScript: 1982 | type: programming 1983 | tm_scope: source.js 1984 | ace_mode: javascript 1985 | codemirror_mode: javascript 1986 | codemirror_mime_type: text/javascript 1987 | color: "#f1e05a" 1988 | aliases: 1989 | - js 1990 | - node 1991 | extensions: 1992 | - ".js" 1993 | - "._js" 1994 | - ".bones" 1995 | - ".es" 1996 | - ".es6" 1997 | - ".frag" 1998 | - ".gs" 1999 | - ".jake" 2000 | - ".jsb" 2001 | - ".jscad" 2002 | - ".jsfl" 2003 | - ".jsm" 2004 | - ".jss" 2005 | - ".njs" 2006 | - ".pac" 2007 | - ".sjs" 2008 | - ".ssjs" 2009 | - ".xsjs" 2010 | - ".xsjslib" 2011 | filenames: 2012 | - Jakefile 2013 | interpreters: 2014 | - node 2015 | language_id: 183 2016 | Julia: 2017 | type: programming 2018 | extensions: 2019 | - ".jl" 2020 | interpreters: 2021 | - julia 2022 | color: "#a270ba" 2023 | ace_mode: julia 2024 | codemirror_mode: julia 2025 | codemirror_mime_type: text/x-julia 2026 | language_id: 184 2027 | Jupyter Notebook: 2028 | type: markup 2029 | ace_mode: json 2030 | codemirror_mode: javascript 2031 | codemirror_mime_type: application/json 2032 | tm_scope: source.json 2033 | color: "#DA5B0B" 2034 | extensions: 2035 | - ".ipynb" 2036 | filenames: 2037 | - Notebook 2038 | aliases: 2039 | - IPython Notebook 2040 | language_id: 185 2041 | KRL: 2042 | type: programming 2043 | color: "#28431f" 2044 | extensions: 2045 | - ".krl" 2046 | tm_scope: none 2047 | ace_mode: text 2048 | language_id: 186 2049 | KiCad: 2050 | type: programming 2051 | extensions: 2052 | - ".sch" 2053 | - ".brd" 2054 | - ".kicad_pcb" 2055 | tm_scope: none 2056 | ace_mode: text 2057 | language_id: 187 2058 | Kit: 2059 | type: markup 2060 | ace_mode: html 2061 | codemirror_mode: htmlmixed 2062 | codemirror_mime_type: text/html 2063 | extensions: 2064 | - ".kit" 2065 | tm_scope: text.html.basic 2066 | language_id: 188 2067 | Kotlin: 2068 | type: programming 2069 | color: "#F18E33" 2070 | extensions: 2071 | - ".kt" 2072 | - ".ktm" 2073 | - ".kts" 2074 | tm_scope: source.Kotlin 2075 | ace_mode: text 2076 | codemirror_mode: clike 2077 | codemirror_mime_type: text/x-kotlin 2078 | language_id: 189 2079 | LFE: 2080 | type: programming 2081 | extensions: 2082 | - ".lfe" 2083 | group: Erlang 2084 | tm_scope: source.lisp 2085 | ace_mode: lisp 2086 | codemirror_mode: commonlisp 2087 | codemirror_mime_type: text/x-common-lisp 2088 | language_id: 190 2089 | LLVM: 2090 | type: programming 2091 | extensions: 2092 | - ".ll" 2093 | ace_mode: text 2094 | color: "#185619" 2095 | language_id: 191 2096 | LOLCODE: 2097 | type: programming 2098 | extensions: 2099 | - ".lol" 2100 | color: "#cc9900" 2101 | tm_scope: none 2102 | ace_mode: text 2103 | language_id: 192 2104 | LSL: 2105 | type: programming 2106 | ace_mode: lsl 2107 | extensions: 2108 | - ".lsl" 2109 | - ".lslp" 2110 | interpreters: 2111 | - lsl 2112 | color: "#3d9970" 2113 | language_id: 193 2114 | LabVIEW: 2115 | type: programming 2116 | extensions: 2117 | - ".lvproj" 2118 | tm_scope: text.xml 2119 | ace_mode: xml 2120 | codemirror_mode: xml 2121 | codemirror_mime_type: text/xml 2122 | language_id: 194 2123 | Lasso: 2124 | type: programming 2125 | color: "#999999" 2126 | extensions: 2127 | - ".lasso" 2128 | - ".las" 2129 | - ".lasso8" 2130 | - ".lasso9" 2131 | - ".ldml" 2132 | tm_scope: file.lasso 2133 | aliases: 2134 | - lassoscript 2135 | ace_mode: text 2136 | language_id: 195 2137 | Latte: 2138 | type: markup 2139 | group: HTML 2140 | extensions: 2141 | - ".latte" 2142 | tm_scope: text.html.smarty 2143 | ace_mode: smarty 2144 | codemirror_mode: smarty 2145 | codemirror_mime_type: text/x-smarty 2146 | language_id: 196 2147 | Lean: 2148 | type: programming 2149 | extensions: 2150 | - ".lean" 2151 | - ".hlean" 2152 | ace_mode: text 2153 | language_id: 197 2154 | Less: 2155 | type: markup 2156 | group: CSS 2157 | extensions: 2158 | - ".less" 2159 | tm_scope: source.css.less 2160 | ace_mode: less 2161 | codemirror_mode: css 2162 | codemirror_mime_type: text/css 2163 | language_id: 198 2164 | Lex: 2165 | type: programming 2166 | color: "#DBCA00" 2167 | aliases: 2168 | - flex 2169 | extensions: 2170 | - ".l" 2171 | - ".lex" 2172 | tm_scope: none 2173 | ace_mode: text 2174 | language_id: 199 2175 | LilyPond: 2176 | type: programming 2177 | extensions: 2178 | - ".ly" 2179 | - ".ily" 2180 | ace_mode: text 2181 | language_id: 200 2182 | Limbo: 2183 | type: programming 2184 | extensions: 2185 | - ".b" 2186 | - ".m" 2187 | tm_scope: none 2188 | ace_mode: text 2189 | language_id: 201 2190 | Linker Script: 2191 | type: data 2192 | extensions: 2193 | - ".ld" 2194 | - ".lds" 2195 | filenames: 2196 | - ld.script 2197 | tm_scope: none 2198 | ace_mode: text 2199 | language_id: 202 2200 | Linux Kernel Module: 2201 | type: data 2202 | extensions: 2203 | - ".mod" 2204 | tm_scope: none 2205 | ace_mode: text 2206 | language_id: 203 2207 | Liquid: 2208 | type: markup 2209 | extensions: 2210 | - ".liquid" 2211 | tm_scope: text.html.liquid 2212 | ace_mode: liquid 2213 | language_id: 204 2214 | Literate Agda: 2215 | type: programming 2216 | group: Agda 2217 | extensions: 2218 | - ".lagda" 2219 | tm_scope: none 2220 | ace_mode: text 2221 | language_id: 205 2222 | Literate CoffeeScript: 2223 | type: programming 2224 | tm_scope: source.litcoffee 2225 | group: CoffeeScript 2226 | ace_mode: text 2227 | wrap: true 2228 | aliases: 2229 | - litcoffee 2230 | extensions: 2231 | - ".litcoffee" 2232 | language_id: 206 2233 | Literate Haskell: 2234 | type: programming 2235 | group: Haskell 2236 | aliases: 2237 | - lhaskell 2238 | - lhs 2239 | extensions: 2240 | - ".lhs" 2241 | tm_scope: text.tex.latex.haskell 2242 | ace_mode: text 2243 | codemirror_mode: haskell-literate 2244 | codemirror_mime_type: text/x-literate-haskell 2245 | language_id: 207 2246 | LiveScript: 2247 | type: programming 2248 | color: "#499886" 2249 | aliases: 2250 | - live-script 2251 | - ls 2252 | extensions: 2253 | - ".ls" 2254 | - "._ls" 2255 | filenames: 2256 | - Slakefile 2257 | ace_mode: livescript 2258 | codemirror_mode: livescript 2259 | codemirror_mime_type: text/x-livescript 2260 | language_id: 208 2261 | Logos: 2262 | type: programming 2263 | extensions: 2264 | - ".xm" 2265 | - ".x" 2266 | - ".xi" 2267 | ace_mode: text 2268 | tm_scope: source.logos 2269 | language_id: 209 2270 | Logtalk: 2271 | type: programming 2272 | extensions: 2273 | - ".lgt" 2274 | - ".logtalk" 2275 | ace_mode: text 2276 | language_id: 210 2277 | LookML: 2278 | type: programming 2279 | ace_mode: yaml 2280 | codemirror_mode: yaml 2281 | codemirror_mime_type: text/x-yaml 2282 | color: "#652B81" 2283 | extensions: 2284 | - ".lookml" 2285 | tm_scope: source.yaml 2286 | language_id: 211 2287 | LoomScript: 2288 | type: programming 2289 | extensions: 2290 | - ".ls" 2291 | tm_scope: source.loomscript 2292 | ace_mode: text 2293 | language_id: 212 2294 | Lua: 2295 | type: programming 2296 | ace_mode: lua 2297 | codemirror_mode: lua 2298 | codemirror_mime_type: text/x-lua 2299 | color: "#000080" 2300 | extensions: 2301 | - ".lua" 2302 | - ".fcgi" 2303 | - ".nse" 2304 | - ".pd_lua" 2305 | - ".rbxs" 2306 | - ".wlua" 2307 | interpreters: 2308 | - lua 2309 | language_id: 213 2310 | M: 2311 | type: programming 2312 | aliases: 2313 | - mumps 2314 | extensions: 2315 | - ".mumps" 2316 | - ".m" 2317 | ace_mode: text 2318 | codemirror_mode: mumps 2319 | codemirror_mime_type: text/x-mumps 2320 | language_id: 214 2321 | tm_scope: none 2322 | M4: 2323 | type: programming 2324 | extensions: 2325 | - ".m4" 2326 | tm_scope: none 2327 | ace_mode: text 2328 | language_id: 215 2329 | M4Sugar: 2330 | type: programming 2331 | group: M4 2332 | aliases: 2333 | - autoconf 2334 | extensions: 2335 | - ".m4" 2336 | filenames: 2337 | - configure.ac 2338 | tm_scope: none 2339 | ace_mode: text 2340 | language_id: 216 2341 | MAXScript: 2342 | type: programming 2343 | color: "#00a6a6" 2344 | extensions: 2345 | - ".ms" 2346 | - ".mcr" 2347 | tm_scope: source.maxscript 2348 | ace_mode: text 2349 | language_id: 217 2350 | MQL4: 2351 | type: programming 2352 | color: "#62A8D6" 2353 | extensions: 2354 | - ".mq4" 2355 | - ".mqh" 2356 | tm_scope: source.mql5 2357 | ace_mode: c_cpp 2358 | language_id: 426 2359 | MQL5: 2360 | type: programming 2361 | color: "#4A76B8" 2362 | extensions: 2363 | - ".mq5" 2364 | - ".mqh" 2365 | tm_scope: source.mql5 2366 | ace_mode: c_cpp 2367 | language_id: 427 2368 | MTML: 2369 | type: markup 2370 | color: "#b7e1f4" 2371 | extensions: 2372 | - ".mtml" 2373 | tm_scope: text.html.basic 2374 | ace_mode: html 2375 | codemirror_mode: htmlmixed 2376 | codemirror_mime_type: text/html 2377 | language_id: 218 2378 | MUF: 2379 | type: programming 2380 | group: Forth 2381 | extensions: 2382 | - ".muf" 2383 | - ".m" 2384 | tm_scope: none 2385 | ace_mode: forth 2386 | codemirror_mode: forth 2387 | codemirror_mime_type: text/x-forth 2388 | language_id: 219 2389 | Makefile: 2390 | type: programming 2391 | color: "#427819" 2392 | aliases: 2393 | - bsdmake 2394 | - make 2395 | - mf 2396 | extensions: 2397 | - ".mak" 2398 | - ".d" 2399 | - ".make" 2400 | - ".mk" 2401 | - ".mkfile" 2402 | filenames: 2403 | - BSDmakefile 2404 | - GNUmakefile 2405 | - Kbuild 2406 | - Makefile 2407 | - Makefile.am 2408 | - Makefile.boot 2409 | - Makefile.frag 2410 | - Makefile.in 2411 | - Makefile.inc 2412 | - makefile 2413 | - makefile.sco 2414 | - mkfile 2415 | interpreters: 2416 | - make 2417 | ace_mode: makefile 2418 | codemirror_mode: cmake 2419 | codemirror_mime_type: text/x-cmake 2420 | language_id: 220 2421 | Mako: 2422 | type: programming 2423 | extensions: 2424 | - ".mako" 2425 | - ".mao" 2426 | tm_scope: text.html.mako 2427 | ace_mode: text 2428 | language_id: 221 2429 | Markdown: 2430 | type: prose 2431 | ace_mode: markdown 2432 | codemirror_mode: gfm 2433 | codemirror_mime_type: text/x-gfm 2434 | wrap: true 2435 | extensions: 2436 | - ".md" 2437 | - ".markdown" 2438 | - ".mkd" 2439 | - ".mkdn" 2440 | - ".mkdown" 2441 | - ".ron" 2442 | tm_scope: source.gfm 2443 | language_id: 222 2444 | Mask: 2445 | type: markup 2446 | color: "#f97732" 2447 | ace_mode: mask 2448 | extensions: 2449 | - ".mask" 2450 | tm_scope: source.mask 2451 | language_id: 223 2452 | Mathematica: 2453 | type: programming 2454 | extensions: 2455 | - ".mathematica" 2456 | - ".cdf" 2457 | - ".m" 2458 | - ".ma" 2459 | - ".mt" 2460 | - ".nb" 2461 | - ".nbp" 2462 | - ".wl" 2463 | - ".wlt" 2464 | aliases: 2465 | - mma 2466 | ace_mode: text 2467 | codemirror_mode: mathematica 2468 | codemirror_mime_type: text/x-mathematica 2469 | language_id: 224 2470 | Matlab: 2471 | type: programming 2472 | color: "#bb92ac" 2473 | aliases: 2474 | - octave 2475 | extensions: 2476 | - ".matlab" 2477 | - ".m" 2478 | ace_mode: matlab 2479 | codemirror_mode: octave 2480 | codemirror_mime_type: text/x-octave 2481 | language_id: 225 2482 | Maven POM: 2483 | type: data 2484 | tm_scope: text.xml.pom 2485 | filenames: 2486 | - pom.xml 2487 | ace_mode: xml 2488 | codemirror_mode: xml 2489 | codemirror_mime_type: text/xml 2490 | language_id: 226 2491 | Max: 2492 | type: programming 2493 | color: "#c4a79c" 2494 | aliases: 2495 | - max/msp 2496 | - maxmsp 2497 | extensions: 2498 | - ".maxpat" 2499 | - ".maxhelp" 2500 | - ".maxproj" 2501 | - ".mxt" 2502 | - ".pat" 2503 | tm_scope: source.json 2504 | ace_mode: json 2505 | codemirror_mode: javascript 2506 | codemirror_mime_type: application/json 2507 | language_id: 227 2508 | MediaWiki: 2509 | type: prose 2510 | wrap: true 2511 | extensions: 2512 | - ".mediawiki" 2513 | - ".wiki" 2514 | tm_scope: text.html.mediawiki 2515 | ace_mode: text 2516 | language_id: 228 2517 | Mercury: 2518 | type: programming 2519 | color: "#ff2b2b" 2520 | ace_mode: prolog 2521 | interpreters: 2522 | - mmi 2523 | extensions: 2524 | - ".m" 2525 | - ".moo" 2526 | tm_scope: source.mercury 2527 | language_id: 229 2528 | Metal: 2529 | type: programming 2530 | color: "#8f14e9" 2531 | extensions: 2532 | - ".metal" 2533 | tm_scope: source.c++ 2534 | ace_mode: c_cpp 2535 | codemirror_mode: clike 2536 | codemirror_mime_type: text/x-c++src 2537 | language_id: 230 2538 | MiniD: 2539 | type: programming 2540 | searchable: false 2541 | extensions: 2542 | - ".minid" 2543 | tm_scope: none 2544 | ace_mode: text 2545 | language_id: 231 2546 | Mirah: 2547 | type: programming 2548 | color: "#c7a938" 2549 | extensions: 2550 | - ".druby" 2551 | - ".duby" 2552 | - ".mir" 2553 | - ".mirah" 2554 | tm_scope: source.ruby 2555 | ace_mode: ruby 2556 | codemirror_mode: ruby 2557 | codemirror_mime_type: text/x-ruby 2558 | language_id: 232 2559 | Modelica: 2560 | type: programming 2561 | extensions: 2562 | - ".mo" 2563 | tm_scope: source.modelica 2564 | ace_mode: text 2565 | codemirror_mode: modelica 2566 | codemirror_mime_type: text/x-modelica 2567 | language_id: 233 2568 | Modula-2: 2569 | type: programming 2570 | extensions: 2571 | - ".mod" 2572 | tm_scope: source.modula2 2573 | ace_mode: text 2574 | language_id: 234 2575 | Module Management System: 2576 | type: programming 2577 | extensions: 2578 | - ".mms" 2579 | - ".mmk" 2580 | filenames: 2581 | - descrip.mmk 2582 | - descrip.mms 2583 | tm_scope: none 2584 | ace_mode: text 2585 | language_id: 235 2586 | Monkey: 2587 | type: programming 2588 | extensions: 2589 | - ".monkey" 2590 | ace_mode: text 2591 | tm_scope: source.monkey 2592 | language_id: 236 2593 | Moocode: 2594 | type: programming 2595 | extensions: 2596 | - ".moo" 2597 | tm_scope: none 2598 | ace_mode: text 2599 | language_id: 237 2600 | MoonScript: 2601 | type: programming 2602 | extensions: 2603 | - ".moon" 2604 | interpreters: 2605 | - moon 2606 | ace_mode: text 2607 | language_id: 238 2608 | Myghty: 2609 | type: programming 2610 | extensions: 2611 | - ".myt" 2612 | tm_scope: none 2613 | ace_mode: text 2614 | language_id: 239 2615 | NCL: 2616 | type: programming 2617 | color: "#28431f" 2618 | extensions: 2619 | - ".ncl" 2620 | tm_scope: source.ncl 2621 | ace_mode: text 2622 | language_id: 240 2623 | NL: 2624 | type: data 2625 | extensions: 2626 | - ".nl" 2627 | tm_scope: none 2628 | ace_mode: text 2629 | language_id: 241 2630 | NSIS: 2631 | type: programming 2632 | extensions: 2633 | - ".nsi" 2634 | - ".nsh" 2635 | ace_mode: text 2636 | codemirror_mode: nsis 2637 | codemirror_mime_type: text/x-nsis 2638 | language_id: 242 2639 | Nemerle: 2640 | type: programming 2641 | color: "#3d3c6e" 2642 | extensions: 2643 | - ".n" 2644 | ace_mode: text 2645 | language_id: 243 2646 | NetLinx: 2647 | type: programming 2648 | color: "#0aa0ff" 2649 | extensions: 2650 | - ".axs" 2651 | - ".axi" 2652 | tm_scope: source.netlinx 2653 | ace_mode: text 2654 | language_id: 244 2655 | NetLinx+ERB: 2656 | type: programming 2657 | color: "#747faa" 2658 | extensions: 2659 | - ".axs.erb" 2660 | - ".axi.erb" 2661 | tm_scope: source.netlinx.erb 2662 | ace_mode: text 2663 | language_id: 245 2664 | NetLogo: 2665 | type: programming 2666 | color: "#ff6375" 2667 | extensions: 2668 | - ".nlogo" 2669 | tm_scope: source.lisp 2670 | ace_mode: lisp 2671 | codemirror_mode: commonlisp 2672 | codemirror_mime_type: text/x-common-lisp 2673 | language_id: 246 2674 | NewLisp: 2675 | type: programming 2676 | lexer: NewLisp 2677 | color: "#87AED7" 2678 | extensions: 2679 | - ".nl" 2680 | - ".lisp" 2681 | - ".lsp" 2682 | interpreters: 2683 | - newlisp 2684 | tm_scope: source.lisp 2685 | ace_mode: lisp 2686 | codemirror_mode: commonlisp 2687 | codemirror_mime_type: text/x-common-lisp 2688 | language_id: 247 2689 | Nginx: 2690 | type: markup 2691 | extensions: 2692 | - ".nginxconf" 2693 | - ".vhost" 2694 | filenames: 2695 | - nginx.conf 2696 | tm_scope: source.nginx 2697 | aliases: 2698 | - nginx configuration file 2699 | ace_mode: text 2700 | codemirror_mode: nginx 2701 | codemirror_mime_type: text/x-nginx-conf 2702 | color: "#9469E9" 2703 | language_id: 248 2704 | Nim: 2705 | type: programming 2706 | color: "#37775b" 2707 | extensions: 2708 | - ".nim" 2709 | - ".nimrod" 2710 | ace_mode: text 2711 | tm_scope: source.nim 2712 | language_id: 249 2713 | Ninja: 2714 | type: data 2715 | tm_scope: source.ninja 2716 | extensions: 2717 | - ".ninja" 2718 | ace_mode: text 2719 | language_id: 250 2720 | Nit: 2721 | type: programming 2722 | color: "#009917" 2723 | extensions: 2724 | - ".nit" 2725 | tm_scope: source.nit 2726 | ace_mode: text 2727 | language_id: 251 2728 | Nix: 2729 | type: programming 2730 | color: "#7e7eff" 2731 | extensions: 2732 | - ".nix" 2733 | aliases: 2734 | - nixos 2735 | tm_scope: source.nix 2736 | ace_mode: nix 2737 | language_id: 252 2738 | Nu: 2739 | type: programming 2740 | color: "#c9df40" 2741 | aliases: 2742 | - nush 2743 | extensions: 2744 | - ".nu" 2745 | filenames: 2746 | - Nukefile 2747 | tm_scope: source.nu 2748 | ace_mode: scheme 2749 | codemirror_mode: scheme 2750 | codemirror_mime_type: text/x-scheme 2751 | interpreters: 2752 | - nush 2753 | language_id: 253 2754 | NumPy: 2755 | type: programming 2756 | group: Python 2757 | extensions: 2758 | - ".numpy" 2759 | - ".numpyw" 2760 | - ".numsc" 2761 | tm_scope: none 2762 | ace_mode: text 2763 | codemirror_mode: python 2764 | codemirror_mime_type: text/x-python 2765 | language_id: 254 2766 | OCaml: 2767 | type: programming 2768 | ace_mode: ocaml 2769 | codemirror_mode: mllike 2770 | codemirror_mime_type: text/x-ocaml 2771 | color: "#3be133" 2772 | extensions: 2773 | - ".ml" 2774 | - ".eliom" 2775 | - ".eliomi" 2776 | - ".ml4" 2777 | - ".mli" 2778 | - ".mll" 2779 | - ".mly" 2780 | interpreters: 2781 | - ocaml 2782 | - ocamlrun 2783 | - ocamlscript 2784 | tm_scope: source.ocaml 2785 | language_id: 255 2786 | ObjDump: 2787 | type: data 2788 | extensions: 2789 | - ".objdump" 2790 | tm_scope: objdump.x86asm 2791 | ace_mode: assembly_x86 2792 | language_id: 256 2793 | Objective-C: 2794 | type: programming 2795 | tm_scope: source.objc 2796 | color: "#438eff" 2797 | aliases: 2798 | - obj-c 2799 | - objc 2800 | - objectivec 2801 | extensions: 2802 | - ".m" 2803 | - ".h" 2804 | ace_mode: objectivec 2805 | codemirror_mode: clike 2806 | codemirror_mime_type: text/x-objectivec 2807 | language_id: 257 2808 | Objective-C++: 2809 | type: programming 2810 | tm_scope: source.objc++ 2811 | color: "#6866fb" 2812 | aliases: 2813 | - obj-c++ 2814 | - objc++ 2815 | - objectivec++ 2816 | extensions: 2817 | - ".mm" 2818 | ace_mode: objectivec 2819 | codemirror_mode: clike 2820 | codemirror_mime_type: text/x-objectivec 2821 | language_id: 258 2822 | Objective-J: 2823 | type: programming 2824 | color: "#ff0c5a" 2825 | aliases: 2826 | - obj-j 2827 | - objectivej 2828 | - objj 2829 | extensions: 2830 | - ".j" 2831 | - ".sj" 2832 | tm_scope: source.js.objj 2833 | ace_mode: text 2834 | language_id: 259 2835 | Omgrofl: 2836 | type: programming 2837 | extensions: 2838 | - ".omgrofl" 2839 | color: "#cabbff" 2840 | tm_scope: none 2841 | ace_mode: text 2842 | language_id: 260 2843 | Opa: 2844 | type: programming 2845 | extensions: 2846 | - ".opa" 2847 | ace_mode: text 2848 | language_id: 261 2849 | Opal: 2850 | type: programming 2851 | color: "#f7ede0" 2852 | extensions: 2853 | - ".opal" 2854 | tm_scope: source.opal 2855 | ace_mode: text 2856 | language_id: 262 2857 | OpenCL: 2858 | type: programming 2859 | group: C 2860 | extensions: 2861 | - ".cl" 2862 | - ".opencl" 2863 | tm_scope: source.c 2864 | ace_mode: c_cpp 2865 | codemirror_mode: clike 2866 | codemirror_mime_type: text/x-csrc 2867 | language_id: 263 2868 | OpenEdge ABL: 2869 | type: programming 2870 | aliases: 2871 | - progress 2872 | - openedge 2873 | - abl 2874 | extensions: 2875 | - ".p" 2876 | - ".cls" 2877 | tm_scope: source.abl 2878 | ace_mode: text 2879 | language_id: 264 2880 | OpenRC runscript: 2881 | type: programming 2882 | group: Shell 2883 | aliases: 2884 | - openrc 2885 | interpreters: 2886 | - openrc-run 2887 | tm_scope: source.shell 2888 | ace_mode: sh 2889 | codemirror_mode: shell 2890 | codemirror_mime_type: text/x-sh 2891 | language_id: 265 2892 | OpenSCAD: 2893 | type: programming 2894 | extensions: 2895 | - ".scad" 2896 | tm_scope: none 2897 | ace_mode: scad 2898 | language_id: 266 2899 | OpenType Feature File: 2900 | type: data 2901 | aliases: 2902 | - AFDKO 2903 | extensions: 2904 | - ".fea" 2905 | tm_scope: source.opentype 2906 | ace_mode: text 2907 | language_id: 374317347 2908 | Org: 2909 | type: prose 2910 | wrap: true 2911 | extensions: 2912 | - ".org" 2913 | tm_scope: none 2914 | ace_mode: text 2915 | language_id: 267 2916 | Ox: 2917 | type: programming 2918 | extensions: 2919 | - ".ox" 2920 | - ".oxh" 2921 | - ".oxo" 2922 | tm_scope: source.ox 2923 | ace_mode: text 2924 | language_id: 268 2925 | Oxygene: 2926 | type: programming 2927 | color: "#cdd0e3" 2928 | extensions: 2929 | - ".oxygene" 2930 | tm_scope: none 2931 | ace_mode: text 2932 | language_id: 269 2933 | Oz: 2934 | type: programming 2935 | color: "#fab738" 2936 | extensions: 2937 | - ".oz" 2938 | tm_scope: source.oz 2939 | ace_mode: text 2940 | codemirror_mode: oz 2941 | codemirror_mime_type: text/x-oz 2942 | language_id: 270 2943 | PAWN: 2944 | type: programming 2945 | color: "#dbb284" 2946 | extensions: 2947 | - ".pwn" 2948 | - ".inc" 2949 | tm_scope: source.pawn 2950 | ace_mode: text 2951 | language_id: 271 2952 | PHP: 2953 | type: programming 2954 | tm_scope: text.html.php 2955 | ace_mode: php 2956 | codemirror_mode: php 2957 | codemirror_mime_type: application/x-httpd-php 2958 | color: "#4F5D95" 2959 | extensions: 2960 | - ".php" 2961 | - ".aw" 2962 | - ".ctp" 2963 | - ".fcgi" 2964 | - ".inc" 2965 | - ".php3" 2966 | - ".php4" 2967 | - ".php5" 2968 | - ".phps" 2969 | - ".phpt" 2970 | filenames: 2971 | - ".php_cs" 2972 | - ".php_cs.dist" 2973 | - Phakefile 2974 | interpreters: 2975 | - php 2976 | aliases: 2977 | - inc 2978 | language_id: 272 2979 | PLSQL: 2980 | type: programming 2981 | ace_mode: sql 2982 | codemirror_mode: sql 2983 | codemirror_mime_type: text/x-plsql 2984 | tm_scope: none 2985 | color: "#dad8d8" 2986 | extensions: 2987 | - ".pls" 2988 | - ".pck" 2989 | - ".pkb" 2990 | - ".pks" 2991 | - ".plb" 2992 | - ".plsql" 2993 | - ".sql" 2994 | language_id: 273 2995 | PLpgSQL: 2996 | type: programming 2997 | ace_mode: pgsql 2998 | codemirror_mode: sql 2999 | codemirror_mime_type: text/x-sql 3000 | tm_scope: source.sql 3001 | extensions: 3002 | - ".sql" 3003 | language_id: 274 3004 | POV-Ray SDL: 3005 | type: programming 3006 | aliases: 3007 | - pov-ray 3008 | - povray 3009 | extensions: 3010 | - ".pov" 3011 | - ".inc" 3012 | ace_mode: text 3013 | language_id: 275 3014 | Pan: 3015 | type: programming 3016 | color: "#cc0000" 3017 | extensions: 3018 | - ".pan" 3019 | tm_scope: none 3020 | ace_mode: text 3021 | language_id: 276 3022 | Papyrus: 3023 | type: programming 3024 | color: "#6600cc" 3025 | extensions: 3026 | - ".psc" 3027 | tm_scope: source.papyrus.skyrim 3028 | ace_mode: text 3029 | language_id: 277 3030 | Parrot: 3031 | type: programming 3032 | color: "#f3ca0a" 3033 | extensions: 3034 | - ".parrot" 3035 | tm_scope: none 3036 | ace_mode: text 3037 | language_id: 278 3038 | Parrot Assembly: 3039 | group: Parrot 3040 | type: programming 3041 | aliases: 3042 | - pasm 3043 | extensions: 3044 | - ".pasm" 3045 | interpreters: 3046 | - parrot 3047 | tm_scope: none 3048 | ace_mode: text 3049 | language_id: 279 3050 | Parrot Internal Representation: 3051 | group: Parrot 3052 | tm_scope: source.parrot.pir 3053 | type: programming 3054 | aliases: 3055 | - pir 3056 | extensions: 3057 | - ".pir" 3058 | interpreters: 3059 | - parrot 3060 | ace_mode: text 3061 | language_id: 280 3062 | Pascal: 3063 | type: programming 3064 | color: "#E3F171" 3065 | extensions: 3066 | - ".pas" 3067 | - ".dfm" 3068 | - ".dpr" 3069 | - ".inc" 3070 | - ".lpr" 3071 | - ".pascal" 3072 | - ".pp" 3073 | interpreters: 3074 | - instantfpc 3075 | ace_mode: pascal 3076 | codemirror_mode: pascal 3077 | codemirror_mime_type: text/x-pascal 3078 | language_id: 281 3079 | Perl: 3080 | type: programming 3081 | tm_scope: source.perl 3082 | ace_mode: perl 3083 | codemirror_mode: perl 3084 | codemirror_mime_type: text/x-perl 3085 | color: "#0298c3" 3086 | extensions: 3087 | - ".pl" 3088 | - ".al" 3089 | - ".cgi" 3090 | - ".fcgi" 3091 | - ".perl" 3092 | - ".ph" 3093 | - ".plx" 3094 | - ".pm" 3095 | - ".pod" 3096 | - ".psgi" 3097 | - ".t" 3098 | interpreters: 3099 | - perl 3100 | language_id: 282 3101 | Perl6: 3102 | type: programming 3103 | color: "#0000fb" 3104 | extensions: 3105 | - ".6pl" 3106 | - ".6pm" 3107 | - ".nqp" 3108 | - ".p6" 3109 | - ".p6l" 3110 | - ".p6m" 3111 | - ".pl" 3112 | - ".pl6" 3113 | - ".pm" 3114 | - ".pm6" 3115 | - ".t" 3116 | filenames: 3117 | - Rexfile 3118 | interpreters: 3119 | - perl6 3120 | tm_scope: source.perl6fe 3121 | ace_mode: perl 3122 | codemirror_mode: perl 3123 | codemirror_mime_type: text/x-perl 3124 | language_id: 283 3125 | Pic: 3126 | type: markup 3127 | group: Roff 3128 | tm_scope: source.pic 3129 | extensions: 3130 | - ".pic" 3131 | - ".chem" 3132 | ace_mode: text 3133 | codemirror_mode: troff 3134 | codemirror_mime_type: text/troff 3135 | language_id: 425 3136 | Pickle: 3137 | type: data 3138 | extensions: 3139 | - ".pkl" 3140 | tm_scope: none 3141 | ace_mode: text 3142 | language_id: 284 3143 | PicoLisp: 3144 | type: programming 3145 | extensions: 3146 | - ".l" 3147 | interpreters: 3148 | - picolisp 3149 | - pil 3150 | tm_scope: source.lisp 3151 | ace_mode: lisp 3152 | language_id: 285 3153 | PigLatin: 3154 | type: programming 3155 | color: "#fcd7de" 3156 | extensions: 3157 | - ".pig" 3158 | tm_scope: source.pig_latin 3159 | ace_mode: text 3160 | language_id: 286 3161 | Pike: 3162 | type: programming 3163 | color: "#005390" 3164 | extensions: 3165 | - ".pike" 3166 | - ".pmod" 3167 | interpreters: 3168 | - pike 3169 | ace_mode: text 3170 | language_id: 287 3171 | Pod: 3172 | type: prose 3173 | ace_mode: perl 3174 | codemirror_mode: perl 3175 | codemirror_mime_type: text/x-perl 3176 | wrap: true 3177 | extensions: 3178 | - ".pod" 3179 | tm_scope: none 3180 | language_id: 288 3181 | PogoScript: 3182 | type: programming 3183 | color: "#d80074" 3184 | extensions: 3185 | - ".pogo" 3186 | tm_scope: source.pogoscript 3187 | ace_mode: text 3188 | language_id: 289 3189 | Pony: 3190 | type: programming 3191 | extensions: 3192 | - ".pony" 3193 | tm_scope: source.pony 3194 | ace_mode: text 3195 | language_id: 290 3196 | PostScript: 3197 | type: markup 3198 | color: "#da291c" 3199 | extensions: 3200 | - ".ps" 3201 | - ".eps" 3202 | tm_scope: source.postscript 3203 | aliases: 3204 | - postscr 3205 | ace_mode: text 3206 | language_id: 291 3207 | PowerBuilder: 3208 | type: programming 3209 | color: "#8f0f8d" 3210 | extensions: 3211 | - ".pbt" 3212 | - ".sra" 3213 | - ".sru" 3214 | - ".srw" 3215 | tm_scope: none 3216 | ace_mode: text 3217 | language_id: 292 3218 | PowerShell: 3219 | type: programming 3220 | ace_mode: powershell 3221 | codemirror_mode: powershell 3222 | codemirror_mime_type: application/x-powershell 3223 | aliases: 3224 | - posh 3225 | extensions: 3226 | - ".ps1" 3227 | - ".psd1" 3228 | - ".psm1" 3229 | language_id: 293 3230 | Processing: 3231 | type: programming 3232 | color: "#0096D8" 3233 | extensions: 3234 | - ".pde" 3235 | ace_mode: text 3236 | language_id: 294 3237 | Prolog: 3238 | type: programming 3239 | color: "#74283c" 3240 | extensions: 3241 | - ".pl" 3242 | - ".pro" 3243 | - ".prolog" 3244 | - ".yap" 3245 | interpreters: 3246 | - swipl 3247 | - yap 3248 | tm_scope: source.prolog 3249 | ace_mode: prolog 3250 | language_id: 295 3251 | Propeller Spin: 3252 | type: programming 3253 | color: "#7fa2a7" 3254 | extensions: 3255 | - ".spin" 3256 | tm_scope: source.spin 3257 | ace_mode: text 3258 | language_id: 296 3259 | Protocol Buffer: 3260 | type: markup 3261 | aliases: 3262 | - protobuf 3263 | - Protocol Buffers 3264 | extensions: 3265 | - ".proto" 3266 | tm_scope: source.protobuf 3267 | ace_mode: protobuf 3268 | codemirror_mode: protobuf 3269 | codemirror_mime_type: text/x-protobuf 3270 | language_id: 297 3271 | Public Key: 3272 | type: data 3273 | extensions: 3274 | - ".asc" 3275 | - ".pub" 3276 | tm_scope: none 3277 | ace_mode: text 3278 | codemirror_mode: asciiarmor 3279 | codemirror_mime_type: application/pgp 3280 | language_id: 298 3281 | Pug: 3282 | group: HTML 3283 | type: markup 3284 | extensions: 3285 | - ".jade" 3286 | - ".pug" 3287 | tm_scope: text.jade 3288 | ace_mode: jade 3289 | codemirror_mode: pug 3290 | codemirror_mime_type: text/x-pug 3291 | language_id: 179 3292 | Puppet: 3293 | type: programming 3294 | color: "#302B6D" 3295 | extensions: 3296 | - ".pp" 3297 | filenames: 3298 | - Modulefile 3299 | ace_mode: text 3300 | codemirror_mode: puppet 3301 | codemirror_mime_type: text/x-puppet 3302 | tm_scope: source.puppet 3303 | language_id: 299 3304 | Pure Data: 3305 | type: programming 3306 | color: "#91de79" 3307 | extensions: 3308 | - ".pd" 3309 | tm_scope: none 3310 | ace_mode: text 3311 | language_id: 300 3312 | PureBasic: 3313 | type: programming 3314 | color: "#5a6986" 3315 | extensions: 3316 | - ".pb" 3317 | - ".pbi" 3318 | tm_scope: none 3319 | ace_mode: text 3320 | language_id: 301 3321 | PureScript: 3322 | type: programming 3323 | color: "#1D222D" 3324 | extensions: 3325 | - ".purs" 3326 | tm_scope: source.purescript 3327 | ace_mode: haskell 3328 | codemirror_mode: haskell 3329 | codemirror_mime_type: text/x-haskell 3330 | language_id: 302 3331 | Python: 3332 | type: programming 3333 | ace_mode: python 3334 | codemirror_mode: python 3335 | codemirror_mime_type: text/x-python 3336 | color: "#3572A5" 3337 | extensions: 3338 | - ".py" 3339 | - ".bzl" 3340 | - ".cgi" 3341 | - ".fcgi" 3342 | - ".gyp" 3343 | - ".gypi" 3344 | - ".lmi" 3345 | - ".py3" 3346 | - ".pyde" 3347 | - ".pyp" 3348 | - ".pyt" 3349 | - ".pyw" 3350 | - ".rpy" 3351 | - ".spec" 3352 | - ".tac" 3353 | - ".wsgi" 3354 | - ".xpy" 3355 | filenames: 3356 | - ".gclient" 3357 | - BUCK 3358 | - BUILD 3359 | - SConscript 3360 | - SConstruct 3361 | - Snakefile 3362 | - wscript 3363 | interpreters: 3364 | - python 3365 | - python2 3366 | - python3 3367 | aliases: 3368 | - rusthon 3369 | language_id: 303 3370 | Python console: 3371 | type: programming 3372 | group: Python 3373 | searchable: false 3374 | aliases: 3375 | - pycon 3376 | tm_scope: text.python.console 3377 | ace_mode: text 3378 | language_id: 428 3379 | Python traceback: 3380 | type: data 3381 | group: Python 3382 | searchable: false 3383 | extensions: 3384 | - ".pytb" 3385 | tm_scope: text.python.traceback 3386 | ace_mode: text 3387 | language_id: 304 3388 | QML: 3389 | type: programming 3390 | color: "#44a51c" 3391 | extensions: 3392 | - ".qml" 3393 | - ".qbs" 3394 | tm_scope: source.qml 3395 | ace_mode: text 3396 | language_id: 305 3397 | QMake: 3398 | type: programming 3399 | extensions: 3400 | - ".pro" 3401 | - ".pri" 3402 | interpreters: 3403 | - qmake 3404 | ace_mode: text 3405 | language_id: 306 3406 | R: 3407 | type: programming 3408 | color: "#198CE7" 3409 | aliases: 3410 | - R 3411 | - Rscript 3412 | - splus 3413 | extensions: 3414 | - ".r" 3415 | - ".rd" 3416 | - ".rsx" 3417 | filenames: 3418 | - ".Rprofile" 3419 | interpreters: 3420 | - Rscript 3421 | ace_mode: r 3422 | codemirror_mode: r 3423 | codemirror_mime_type: text/x-rsrc 3424 | language_id: 307 3425 | RAML: 3426 | type: markup 3427 | ace_mode: yaml 3428 | codemirror_mode: yaml 3429 | codemirror_mime_type: text/x-yaml 3430 | tm_scope: source.yaml 3431 | color: "#77d9fb" 3432 | extensions: 3433 | - ".raml" 3434 | language_id: 308 3435 | RDoc: 3436 | type: prose 3437 | ace_mode: rdoc 3438 | wrap: true 3439 | extensions: 3440 | - ".rdoc" 3441 | tm_scope: text.rdoc 3442 | language_id: 309 3443 | REALbasic: 3444 | type: programming 3445 | extensions: 3446 | - ".rbbas" 3447 | - ".rbfrm" 3448 | - ".rbmnu" 3449 | - ".rbres" 3450 | - ".rbtbar" 3451 | - ".rbuistate" 3452 | tm_scope: source.vbnet 3453 | ace_mode: text 3454 | language_id: 310 3455 | REXX: 3456 | type: programming 3457 | aliases: 3458 | - arexx 3459 | extensions: 3460 | - ".rexx" 3461 | - ".pprx" 3462 | - ".rex" 3463 | interpreters: 3464 | - regina 3465 | - rexx 3466 | tm_scope: source.rexx 3467 | ace_mode: text 3468 | language_id: 311 3469 | RHTML: 3470 | type: markup 3471 | group: HTML 3472 | extensions: 3473 | - ".rhtml" 3474 | tm_scope: text.html.erb 3475 | aliases: 3476 | - html+ruby 3477 | ace_mode: rhtml 3478 | codemirror_mode: htmlembedded 3479 | codemirror_mime_type: application/x-erb 3480 | language_id: 312 3481 | RMarkdown: 3482 | type: prose 3483 | wrap: true 3484 | ace_mode: markdown 3485 | codemirror_mode: gfm 3486 | codemirror_mime_type: text/x-gfm 3487 | extensions: 3488 | - ".rmd" 3489 | tm_scope: source.gfm 3490 | language_id: 313 3491 | RPM Spec: 3492 | type: data 3493 | tm_scope: source.rpm-spec 3494 | extensions: 3495 | - ".spec" 3496 | aliases: 3497 | - specfile 3498 | ace_mode: text 3499 | codemirror_mode: rpm 3500 | codemirror_mime_type: text/x-rpm-spec 3501 | language_id: 314 3502 | RUNOFF: 3503 | type: markup 3504 | color: "#665a4e" 3505 | extensions: 3506 | - ".rnh" 3507 | - ".rno" 3508 | tm_scope: text.runoff 3509 | ace_mode: text 3510 | language_id: 315 3511 | Racket: 3512 | type: programming 3513 | color: "#22228f" 3514 | extensions: 3515 | - ".rkt" 3516 | - ".rktd" 3517 | - ".rktl" 3518 | - ".scrbl" 3519 | interpreters: 3520 | - racket 3521 | tm_scope: source.racket 3522 | ace_mode: lisp 3523 | language_id: 316 3524 | Ragel: 3525 | type: programming 3526 | color: "#9d5200" 3527 | extensions: 3528 | - ".rl" 3529 | aliases: 3530 | - ragel-rb 3531 | - ragel-ruby 3532 | tm_scope: none 3533 | ace_mode: text 3534 | language_id: 317 3535 | Rascal: 3536 | type: programming 3537 | color: "#fffaa0" 3538 | extensions: 3539 | - ".rsc" 3540 | tm_scope: source.rascal 3541 | ace_mode: text 3542 | language_id: 173616037 3543 | Raw token data: 3544 | type: data 3545 | aliases: 3546 | - raw 3547 | extensions: 3548 | - ".raw" 3549 | tm_scope: none 3550 | ace_mode: text 3551 | language_id: 318 3552 | Reason: 3553 | type: programming 3554 | group: OCaml 3555 | ace_mode: rust 3556 | codemirror_mode: rust 3557 | codemirror_mime_type: text/x-rustsrc 3558 | extensions: 3559 | - ".re" 3560 | - ".rei" 3561 | interpreters: 3562 | - ocaml 3563 | tm_scope: source.reason 3564 | language_id: 869538413 3565 | Rebol: 3566 | type: programming 3567 | color: "#358a5b" 3568 | extensions: 3569 | - ".reb" 3570 | - ".r" 3571 | - ".r2" 3572 | - ".r3" 3573 | - ".rebol" 3574 | ace_mode: text 3575 | tm_scope: source.rebol 3576 | language_id: 319 3577 | Red: 3578 | type: programming 3579 | color: "#f50000" 3580 | extensions: 3581 | - ".red" 3582 | - ".reds" 3583 | aliases: 3584 | - red/system 3585 | tm_scope: source.red 3586 | ace_mode: text 3587 | language_id: 320 3588 | Redcode: 3589 | type: programming 3590 | extensions: 3591 | - ".cw" 3592 | tm_scope: none 3593 | ace_mode: text 3594 | language_id: 321 3595 | Ren'Py: 3596 | type: programming 3597 | aliases: 3598 | - renpy 3599 | color: "#ff7f7f" 3600 | extensions: 3601 | - ".rpy" 3602 | tm_scope: source.renpy 3603 | ace_mode: python 3604 | language_id: 322 3605 | RenderScript: 3606 | type: programming 3607 | extensions: 3608 | - ".rs" 3609 | - ".rsh" 3610 | tm_scope: none 3611 | ace_mode: text 3612 | language_id: 323 3613 | RobotFramework: 3614 | type: programming 3615 | extensions: 3616 | - ".robot" 3617 | tm_scope: text.robot 3618 | ace_mode: text 3619 | language_id: 324 3620 | Roff: 3621 | type: markup 3622 | color: "#ecdebe" 3623 | extensions: 3624 | - ".man" 3625 | - ".1" 3626 | - ".1in" 3627 | - ".1m" 3628 | - ".1x" 3629 | - ".2" 3630 | - ".3" 3631 | - ".3in" 3632 | - ".3m" 3633 | - ".3qt" 3634 | - ".3x" 3635 | - ".4" 3636 | - ".5" 3637 | - ".6" 3638 | - ".7" 3639 | - ".8" 3640 | - ".9" 3641 | - ".l" 3642 | - ".me" 3643 | - ".ms" 3644 | - ".n" 3645 | - ".rno" 3646 | - ".roff" 3647 | - ".tmac" 3648 | filenames: 3649 | - mmn 3650 | - mmt 3651 | tm_scope: text.roff 3652 | aliases: 3653 | - nroff 3654 | ace_mode: text 3655 | codemirror_mode: troff 3656 | codemirror_mime_type: text/troff 3657 | language_id: 141 3658 | Rouge: 3659 | type: programming 3660 | ace_mode: clojure 3661 | codemirror_mode: clojure 3662 | codemirror_mime_type: text/x-clojure 3663 | color: "#cc0088" 3664 | extensions: 3665 | - ".rg" 3666 | tm_scope: source.clojure 3667 | language_id: 325 3668 | Ruby: 3669 | type: programming 3670 | ace_mode: ruby 3671 | codemirror_mode: ruby 3672 | codemirror_mime_type: text/x-ruby 3673 | color: "#701516" 3674 | aliases: 3675 | - jruby 3676 | - macruby 3677 | - rake 3678 | - rb 3679 | - rbx 3680 | extensions: 3681 | - ".rb" 3682 | - ".builder" 3683 | - ".fcgi" 3684 | - ".gemspec" 3685 | - ".god" 3686 | - ".irbrc" 3687 | - ".jbuilder" 3688 | - ".mspec" 3689 | - ".pluginspec" 3690 | - ".podspec" 3691 | - ".rabl" 3692 | - ".rake" 3693 | - ".rbuild" 3694 | - ".rbw" 3695 | - ".rbx" 3696 | - ".ru" 3697 | - ".ruby" 3698 | - ".spec" 3699 | - ".thor" 3700 | - ".watchr" 3701 | interpreters: 3702 | - ruby 3703 | - macruby 3704 | - rake 3705 | - jruby 3706 | - rbx 3707 | filenames: 3708 | - ".pryrc" 3709 | - Appraisals 3710 | - Berksfile 3711 | - Brewfile 3712 | - Buildfile 3713 | - Dangerfile 3714 | - Deliverfile 3715 | - Fastfile 3716 | - Gemfile 3717 | - Gemfile.lock 3718 | - Guardfile 3719 | - Jarfile 3720 | - Mavenfile 3721 | - Podfile 3722 | - Puppetfile 3723 | - Snapfile 3724 | - Thorfile 3725 | - Vagrantfile 3726 | - buildfile 3727 | language_id: 326 3728 | Rust: 3729 | type: programming 3730 | color: "#dea584" 3731 | extensions: 3732 | - ".rs" 3733 | - ".rs.in" 3734 | ace_mode: rust 3735 | codemirror_mode: rust 3736 | codemirror_mime_type: text/x-rustsrc 3737 | language_id: 327 3738 | SAS: 3739 | type: programming 3740 | color: "#B34936" 3741 | extensions: 3742 | - ".sas" 3743 | tm_scope: source.sas 3744 | ace_mode: text 3745 | codemirror_mode: sas 3746 | codemirror_mime_type: text/x-sas 3747 | language_id: 328 3748 | SCSS: 3749 | type: markup 3750 | tm_scope: source.scss 3751 | group: CSS 3752 | ace_mode: scss 3753 | codemirror_mode: css 3754 | codemirror_mime_type: text/x-scss 3755 | extensions: 3756 | - ".scss" 3757 | language_id: 329 3758 | SMT: 3759 | type: programming 3760 | extensions: 3761 | - ".smt2" 3762 | - ".smt" 3763 | interpreters: 3764 | - boolector 3765 | - cvc4 3766 | - mathsat5 3767 | - opensmt 3768 | - smtinterpol 3769 | - smt-rat 3770 | - stp 3771 | - verit 3772 | - yices2 3773 | - z3 3774 | tm_scope: source.smt 3775 | ace_mode: text 3776 | language_id: 330 3777 | SPARQL: 3778 | type: data 3779 | tm_scope: source.sparql 3780 | ace_mode: text 3781 | codemirror_mode: sparql 3782 | codemirror_mime_type: application/sparql-query 3783 | extensions: 3784 | - ".sparql" 3785 | - ".rq" 3786 | language_id: 331 3787 | SQF: 3788 | type: programming 3789 | color: "#3F3F3F" 3790 | extensions: 3791 | - ".sqf" 3792 | - ".hqf" 3793 | tm_scope: source.sqf 3794 | ace_mode: text 3795 | language_id: 332 3796 | SQL: 3797 | type: data 3798 | tm_scope: source.sql 3799 | ace_mode: sql 3800 | codemirror_mode: sql 3801 | codemirror_mime_type: text/x-sql 3802 | extensions: 3803 | - ".sql" 3804 | - ".cql" 3805 | - ".ddl" 3806 | - ".inc" 3807 | - ".prc" 3808 | - ".tab" 3809 | - ".udf" 3810 | - ".viw" 3811 | language_id: 333 3812 | SQLPL: 3813 | type: programming 3814 | ace_mode: sql 3815 | codemirror_mode: sql 3816 | codemirror_mime_type: text/x-sql 3817 | tm_scope: source.sql 3818 | extensions: 3819 | - ".sql" 3820 | - ".db2" 3821 | language_id: 334 3822 | SRecode Template: 3823 | type: markup 3824 | color: "#348a34" 3825 | tm_scope: source.lisp 3826 | ace_mode: lisp 3827 | codemirror_mode: commonlisp 3828 | codemirror_mime_type: text/x-common-lisp 3829 | extensions: 3830 | - ".srt" 3831 | language_id: 335 3832 | STON: 3833 | type: data 3834 | group: Smalltalk 3835 | extensions: 3836 | - ".ston" 3837 | tm_scope: source.smalltalk 3838 | ace_mode: text 3839 | language_id: 336 3840 | SVG: 3841 | type: data 3842 | extensions: 3843 | - ".svg" 3844 | tm_scope: text.xml 3845 | ace_mode: xml 3846 | codemirror_mode: xml 3847 | codemirror_mime_type: text/xml 3848 | language_id: 337 3849 | Sage: 3850 | type: programming 3851 | group: Python 3852 | extensions: 3853 | - ".sage" 3854 | - ".sagews" 3855 | tm_scope: source.python 3856 | ace_mode: python 3857 | codemirror_mode: python 3858 | codemirror_mime_type: text/x-python 3859 | language_id: 338 3860 | SaltStack: 3861 | type: programming 3862 | color: "#646464" 3863 | aliases: 3864 | - saltstate 3865 | - salt 3866 | extensions: 3867 | - ".sls" 3868 | tm_scope: source.yaml.salt 3869 | ace_mode: yaml 3870 | codemirror_mode: yaml 3871 | codemirror_mime_type: text/x-yaml 3872 | language_id: 339 3873 | Sass: 3874 | type: markup 3875 | tm_scope: source.sass 3876 | group: CSS 3877 | extensions: 3878 | - ".sass" 3879 | ace_mode: sass 3880 | codemirror_mode: sass 3881 | codemirror_mime_type: text/x-sass 3882 | language_id: 340 3883 | Scala: 3884 | type: programming 3885 | ace_mode: scala 3886 | codemirror_mode: clike 3887 | codemirror_mime_type: text/x-scala 3888 | color: "#c22d40" 3889 | extensions: 3890 | - ".scala" 3891 | - ".sbt" 3892 | - ".sc" 3893 | interpreters: 3894 | - scala 3895 | language_id: 341 3896 | Scaml: 3897 | group: HTML 3898 | type: markup 3899 | extensions: 3900 | - ".scaml" 3901 | tm_scope: source.scaml 3902 | ace_mode: text 3903 | language_id: 342 3904 | Scheme: 3905 | type: programming 3906 | color: "#1e4aec" 3907 | extensions: 3908 | - ".scm" 3909 | - ".sld" 3910 | - ".sls" 3911 | - ".sps" 3912 | - ".ss" 3913 | interpreters: 3914 | - guile 3915 | - bigloo 3916 | - chicken 3917 | - csi 3918 | - gosh 3919 | - r6rs 3920 | ace_mode: scheme 3921 | codemirror_mode: scheme 3922 | codemirror_mime_type: text/x-scheme 3923 | language_id: 343 3924 | Scilab: 3925 | type: programming 3926 | extensions: 3927 | - ".sci" 3928 | - ".sce" 3929 | - ".tst" 3930 | ace_mode: text 3931 | language_id: 344 3932 | Self: 3933 | type: programming 3934 | color: "#0579aa" 3935 | extensions: 3936 | - ".self" 3937 | tm_scope: none 3938 | ace_mode: text 3939 | language_id: 345 3940 | Shell: 3941 | type: programming 3942 | color: "#89e051" 3943 | aliases: 3944 | - sh 3945 | - shell-script 3946 | - bash 3947 | - zsh 3948 | extensions: 3949 | - ".sh" 3950 | - ".bash" 3951 | - ".bats" 3952 | - ".cgi" 3953 | - ".command" 3954 | - ".fcgi" 3955 | - ".ksh" 3956 | - ".sh.in" 3957 | - ".tmux" 3958 | - ".tool" 3959 | - ".zsh" 3960 | filenames: 3961 | - ".bash_history" 3962 | - ".bash_logout" 3963 | - ".bash_profile" 3964 | - ".bashrc" 3965 | - PKGBUILD 3966 | - gradlew 3967 | interpreters: 3968 | - bash 3969 | - rc 3970 | - sh 3971 | - zsh 3972 | ace_mode: sh 3973 | codemirror_mode: shell 3974 | codemirror_mime_type: text/x-sh 3975 | language_id: 346 3976 | ShellSession: 3977 | type: programming 3978 | extensions: 3979 | - ".sh-session" 3980 | aliases: 3981 | - bash session 3982 | - console 3983 | tm_scope: text.shell-session 3984 | ace_mode: sh 3985 | codemirror_mode: shell 3986 | codemirror_mime_type: text/x-sh 3987 | language_id: 347 3988 | Shen: 3989 | type: programming 3990 | color: "#120F14" 3991 | extensions: 3992 | - ".shen" 3993 | tm_scope: none 3994 | ace_mode: text 3995 | language_id: 348 3996 | Slash: 3997 | type: programming 3998 | color: "#007eff" 3999 | extensions: 4000 | - ".sl" 4001 | tm_scope: text.html.slash 4002 | ace_mode: text 4003 | language_id: 349 4004 | Slim: 4005 | group: HTML 4006 | type: markup 4007 | extensions: 4008 | - ".slim" 4009 | tm_scope: text.slim 4010 | ace_mode: text 4011 | codemirror_mode: slim 4012 | codemirror_mime_type: text/x-slim 4013 | language_id: 350 4014 | Smali: 4015 | type: programming 4016 | extensions: 4017 | - ".smali" 4018 | ace_mode: text 4019 | tm_scope: source.smali 4020 | language_id: 351 4021 | Smalltalk: 4022 | type: programming 4023 | color: "#596706" 4024 | extensions: 4025 | - ".st" 4026 | - ".cs" 4027 | aliases: 4028 | - squeak 4029 | ace_mode: text 4030 | codemirror_mode: smalltalk 4031 | codemirror_mime_type: text/x-stsrc 4032 | language_id: 352 4033 | Smarty: 4034 | type: programming 4035 | extensions: 4036 | - ".tpl" 4037 | ace_mode: smarty 4038 | codemirror_mode: smarty 4039 | codemirror_mime_type: text/x-smarty 4040 | tm_scope: text.html.smarty 4041 | language_id: 353 4042 | SourcePawn: 4043 | type: programming 4044 | color: "#5c7611" 4045 | aliases: 4046 | - sourcemod 4047 | extensions: 4048 | - ".sp" 4049 | - ".inc" 4050 | - ".sma" 4051 | tm_scope: source.sp 4052 | ace_mode: text 4053 | language_id: 354 4054 | Spline Font Database: 4055 | type: data 4056 | extensions: 4057 | - ".sfd" 4058 | tm_scope: text.sfd 4059 | ace_mode: yaml 4060 | language_id: 767169629 4061 | Squirrel: 4062 | type: programming 4063 | color: "#800000" 4064 | extensions: 4065 | - ".nut" 4066 | tm_scope: source.c++ 4067 | ace_mode: c_cpp 4068 | codemirror_mode: clike 4069 | codemirror_mime_type: text/x-c++src 4070 | language_id: 355 4071 | Stan: 4072 | type: programming 4073 | color: "#b2011d" 4074 | extensions: 4075 | - ".stan" 4076 | ace_mode: text 4077 | tm_scope: source.stan 4078 | language_id: 356 4079 | Standard ML: 4080 | type: programming 4081 | color: "#dc566d" 4082 | aliases: 4083 | - sml 4084 | extensions: 4085 | - ".ML" 4086 | - ".fun" 4087 | - ".sig" 4088 | - ".sml" 4089 | tm_scope: source.ml 4090 | ace_mode: text 4091 | codemirror_mode: mllike 4092 | codemirror_mime_type: text/x-ocaml 4093 | language_id: 357 4094 | Stata: 4095 | type: programming 4096 | extensions: 4097 | - ".do" 4098 | - ".ado" 4099 | - ".doh" 4100 | - ".ihlp" 4101 | - ".mata" 4102 | - ".matah" 4103 | - ".sthlp" 4104 | ace_mode: text 4105 | language_id: 358 4106 | Stylus: 4107 | type: markup 4108 | group: CSS 4109 | extensions: 4110 | - ".styl" 4111 | tm_scope: source.stylus 4112 | ace_mode: stylus 4113 | language_id: 359 4114 | SubRip Text: 4115 | type: data 4116 | extensions: 4117 | - ".srt" 4118 | ace_mode: text 4119 | tm_scope: text.srt 4120 | language_id: 360 4121 | Sublime Text Config: 4122 | type: data 4123 | group: JSON 4124 | tm_scope: source.js 4125 | ace_mode: javascript 4126 | codemirror_mode: javascript 4127 | codemirror_mime_type: text/javascript 4128 | extensions: 4129 | - ".sublime-build" 4130 | - ".sublime-commands" 4131 | - ".sublime-completions" 4132 | - ".sublime-keymap" 4133 | - ".sublime-macro" 4134 | - ".sublime-menu" 4135 | - ".sublime-mousemap" 4136 | - ".sublime-project" 4137 | - ".sublime-settings" 4138 | - ".sublime-theme" 4139 | - ".sublime-workspace" 4140 | - ".sublime_metrics" 4141 | - ".sublime_session" 4142 | language_id: 423 4143 | SuperCollider: 4144 | type: programming 4145 | color: "#46390b" 4146 | extensions: 4147 | - ".sc" 4148 | - ".scd" 4149 | interpreters: 4150 | - sclang 4151 | - scsynth 4152 | tm_scope: source.supercollider 4153 | ace_mode: text 4154 | language_id: 361 4155 | Swift: 4156 | type: programming 4157 | color: "#ffac45" 4158 | extensions: 4159 | - ".swift" 4160 | ace_mode: text 4161 | codemirror_mode: swift 4162 | codemirror_mime_type: text/x-swift 4163 | language_id: 362 4164 | SystemVerilog: 4165 | type: programming 4166 | color: "#DAE1C2" 4167 | extensions: 4168 | - ".sv" 4169 | - ".svh" 4170 | - ".vh" 4171 | ace_mode: verilog 4172 | codemirror_mode: verilog 4173 | codemirror_mime_type: text/x-systemverilog 4174 | language_id: 363 4175 | TI Program: 4176 | type: programming 4177 | ace_mode: text 4178 | color: "#A0AA87" 4179 | extensions: 4180 | - ".8xp" 4181 | - ".8xk" 4182 | - ".8xk.txt" 4183 | - ".8xp.txt" 4184 | language_id: 422 4185 | tm_scope: none 4186 | TLA: 4187 | type: programming 4188 | extensions: 4189 | - ".tla" 4190 | tm_scope: source.tla 4191 | ace_mode: text 4192 | language_id: 364 4193 | TOML: 4194 | type: data 4195 | extensions: 4196 | - ".toml" 4197 | tm_scope: source.toml 4198 | ace_mode: toml 4199 | codemirror_mode: toml 4200 | codemirror_mime_type: text/x-toml 4201 | language_id: 365 4202 | TXL: 4203 | type: programming 4204 | extensions: 4205 | - ".txl" 4206 | tm_scope: source.txl 4207 | ace_mode: text 4208 | language_id: 366 4209 | Tcl: 4210 | type: programming 4211 | color: "#e4cc98" 4212 | extensions: 4213 | - ".tcl" 4214 | - ".adp" 4215 | - ".tm" 4216 | interpreters: 4217 | - tclsh 4218 | - wish 4219 | ace_mode: tcl 4220 | codemirror_mode: tcl 4221 | codemirror_mime_type: text/x-tcl 4222 | language_id: 367 4223 | Tcsh: 4224 | type: programming 4225 | group: Shell 4226 | extensions: 4227 | - ".tcsh" 4228 | - ".csh" 4229 | tm_scope: source.shell 4230 | ace_mode: sh 4231 | codemirror_mode: shell 4232 | codemirror_mime_type: text/x-sh 4233 | language_id: 368 4234 | TeX: 4235 | type: markup 4236 | color: "#3D6117" 4237 | ace_mode: tex 4238 | codemirror_mode: stex 4239 | codemirror_mime_type: text/x-stex 4240 | wrap: true 4241 | aliases: 4242 | - latex 4243 | extensions: 4244 | - ".tex" 4245 | - ".aux" 4246 | - ".bbx" 4247 | - ".bib" 4248 | - ".cbx" 4249 | - ".cls" 4250 | - ".dtx" 4251 | - ".ins" 4252 | - ".lbx" 4253 | - ".ltx" 4254 | - ".mkii" 4255 | - ".mkiv" 4256 | - ".mkvi" 4257 | - ".sty" 4258 | - ".toc" 4259 | language_id: 369 4260 | Tea: 4261 | type: markup 4262 | extensions: 4263 | - ".tea" 4264 | tm_scope: source.tea 4265 | ace_mode: text 4266 | language_id: 370 4267 | Terra: 4268 | type: programming 4269 | extensions: 4270 | - ".t" 4271 | color: "#00004c" 4272 | ace_mode: lua 4273 | codemirror_mode: lua 4274 | codemirror_mime_type: text/x-lua 4275 | interpreters: 4276 | - lua 4277 | language_id: 371 4278 | Text: 4279 | type: prose 4280 | wrap: true 4281 | aliases: 4282 | - fundamental 4283 | extensions: 4284 | - ".txt" 4285 | - ".fr" 4286 | - ".nb" 4287 | - ".ncl" 4288 | - ".no" 4289 | filenames: 4290 | - COPYING 4291 | - FONTLOG 4292 | - INSTALL 4293 | - LICENSE 4294 | - NEWS 4295 | - README.1ST 4296 | - README.me 4297 | - click.me 4298 | - delete.me 4299 | - keep.me 4300 | - read.me 4301 | - test.me 4302 | tm_scope: none 4303 | ace_mode: text 4304 | language_id: 372 4305 | Textile: 4306 | type: prose 4307 | ace_mode: textile 4308 | codemirror_mode: textile 4309 | codemirror_mime_type: text/x-textile 4310 | wrap: true 4311 | extensions: 4312 | - ".textile" 4313 | tm_scope: none 4314 | language_id: 373 4315 | Thrift: 4316 | type: programming 4317 | tm_scope: source.thrift 4318 | extensions: 4319 | - ".thrift" 4320 | ace_mode: text 4321 | language_id: 374 4322 | Turing: 4323 | type: programming 4324 | color: "#cf142b" 4325 | extensions: 4326 | - ".t" 4327 | - ".tu" 4328 | tm_scope: source.turing 4329 | ace_mode: text 4330 | language_id: 375 4331 | Turtle: 4332 | type: data 4333 | extensions: 4334 | - ".ttl" 4335 | tm_scope: source.turtle 4336 | ace_mode: text 4337 | codemirror_mode: turtle 4338 | codemirror_mime_type: text/turtle 4339 | language_id: 376 4340 | Twig: 4341 | type: markup 4342 | group: HTML 4343 | extensions: 4344 | - ".twig" 4345 | tm_scope: text.html.twig 4346 | ace_mode: twig 4347 | codemirror_mode: twig 4348 | codemirror_mime_type: text/x-twig 4349 | language_id: 377 4350 | TypeScript: 4351 | type: programming 4352 | color: "#2b7489" 4353 | aliases: 4354 | - ts 4355 | extensions: 4356 | - ".ts" 4357 | - ".tsx" 4358 | tm_scope: source.ts 4359 | ace_mode: typescript 4360 | codemirror_mode: javascript 4361 | codemirror_mime_type: application/typescript 4362 | language_id: 378 4363 | Unified Parallel C: 4364 | type: programming 4365 | group: C 4366 | ace_mode: c_cpp 4367 | codemirror_mode: clike 4368 | codemirror_mime_type: text/x-csrc 4369 | extensions: 4370 | - ".upc" 4371 | tm_scope: source.c 4372 | language_id: 379 4373 | Unity3D Asset: 4374 | type: data 4375 | ace_mode: yaml 4376 | codemirror_mode: yaml 4377 | codemirror_mime_type: text/x-yaml 4378 | extensions: 4379 | - ".anim" 4380 | - ".asset" 4381 | - ".mat" 4382 | - ".meta" 4383 | - ".prefab" 4384 | - ".unity" 4385 | tm_scope: source.yaml 4386 | language_id: 380 4387 | Unix Assembly: 4388 | type: programming 4389 | group: Assembly 4390 | extensions: 4391 | - ".s" 4392 | - ".ms" 4393 | tm_scope: source.assembly 4394 | ace_mode: assembly_x86 4395 | language_id: 120 4396 | Uno: 4397 | type: programming 4398 | extensions: 4399 | - ".uno" 4400 | ace_mode: csharp 4401 | codemirror_mode: clike 4402 | codemirror_mime_type: text/x-csharp 4403 | tm_scope: source.cs 4404 | language_id: 381 4405 | UnrealScript: 4406 | type: programming 4407 | color: "#a54c4d" 4408 | extensions: 4409 | - ".uc" 4410 | tm_scope: source.java 4411 | ace_mode: java 4412 | codemirror_mode: clike 4413 | codemirror_mime_type: text/x-java 4414 | language_id: 382 4415 | UrWeb: 4416 | type: programming 4417 | aliases: 4418 | - Ur/Web 4419 | - Ur 4420 | extensions: 4421 | - ".ur" 4422 | - ".urs" 4423 | tm_scope: source.ur 4424 | ace_mode: text 4425 | language_id: 383 4426 | VCL: 4427 | group: Perl 4428 | type: programming 4429 | extensions: 4430 | - ".vcl" 4431 | tm_scope: source.varnish.vcl 4432 | ace_mode: text 4433 | language_id: 384 4434 | VHDL: 4435 | type: programming 4436 | color: "#adb2cb" 4437 | extensions: 4438 | - ".vhdl" 4439 | - ".vhd" 4440 | - ".vhf" 4441 | - ".vhi" 4442 | - ".vho" 4443 | - ".vhs" 4444 | - ".vht" 4445 | - ".vhw" 4446 | ace_mode: vhdl 4447 | codemirror_mode: vhdl 4448 | codemirror_mime_type: text/x-vhdl 4449 | language_id: 385 4450 | Vala: 4451 | type: programming 4452 | color: "#fbe5cd" 4453 | extensions: 4454 | - ".vala" 4455 | - ".vapi" 4456 | ace_mode: vala 4457 | language_id: 386 4458 | Verilog: 4459 | type: programming 4460 | color: "#b2b7f8" 4461 | extensions: 4462 | - ".v" 4463 | - ".veo" 4464 | ace_mode: verilog 4465 | codemirror_mode: verilog 4466 | codemirror_mime_type: text/x-verilog 4467 | language_id: 387 4468 | Vim script: 4469 | type: programming 4470 | color: "#199f4b" 4471 | tm_scope: source.viml 4472 | aliases: 4473 | - vim 4474 | - viml 4475 | - nvim 4476 | extensions: 4477 | - ".vim" 4478 | filenames: 4479 | - ".nvimrc" 4480 | - ".vimrc" 4481 | - _vimrc 4482 | - gvimrc 4483 | - nvimrc 4484 | - vimrc 4485 | ace_mode: text 4486 | language_id: 388 4487 | Visual Basic: 4488 | type: programming 4489 | color: "#945db7" 4490 | extensions: 4491 | - ".vb" 4492 | - ".bas" 4493 | - ".cls" 4494 | - ".frm" 4495 | - ".frx" 4496 | - ".vba" 4497 | - ".vbhtml" 4498 | - ".vbs" 4499 | tm_scope: source.vbnet 4500 | aliases: 4501 | - vb.net 4502 | - vbnet 4503 | ace_mode: text 4504 | codemirror_mode: vb 4505 | codemirror_mime_type: text/x-vb 4506 | language_id: 389 4507 | Volt: 4508 | type: programming 4509 | color: "#1F1F1F" 4510 | extensions: 4511 | - ".volt" 4512 | tm_scope: source.d 4513 | ace_mode: d 4514 | codemirror_mode: d 4515 | codemirror_mime_type: text/x-d 4516 | language_id: 390 4517 | Vue: 4518 | type: markup 4519 | color: "#2c3e50" 4520 | extensions: 4521 | - ".vue" 4522 | tm_scope: text.html.vue 4523 | ace_mode: html 4524 | language_id: 391 4525 | Wavefront Material: 4526 | type: data 4527 | extensions: 4528 | - ".mtl" 4529 | tm_scope: source.wavefront.mtl 4530 | ace_mode: text 4531 | language_id: 392 4532 | Wavefront Object: 4533 | type: data 4534 | extensions: 4535 | - ".obj" 4536 | tm_scope: source.wavefront.obj 4537 | ace_mode: text 4538 | language_id: 393 4539 | Web Ontology Language: 4540 | type: markup 4541 | color: "#9cc9dd" 4542 | extensions: 4543 | - ".owl" 4544 | tm_scope: text.xml 4545 | ace_mode: xml 4546 | language_id: 394 4547 | WebIDL: 4548 | type: programming 4549 | extensions: 4550 | - ".webidl" 4551 | tm_scope: source.webidl 4552 | ace_mode: text 4553 | codemirror_mode: webidl 4554 | codemirror_mime_type: text/x-webidl 4555 | language_id: 395 4556 | World of Warcraft Addon Data: 4557 | type: data 4558 | extensions: 4559 | - ".toc" 4560 | tm_scope: source.toc 4561 | ace_mode: text 4562 | language_id: 396 4563 | X10: 4564 | type: programming 4565 | aliases: 4566 | - xten 4567 | ace_mode: text 4568 | extensions: 4569 | - ".x10" 4570 | color: "#4B6BEF" 4571 | tm_scope: source.x10 4572 | language_id: 397 4573 | XC: 4574 | type: programming 4575 | color: "#99DA07" 4576 | extensions: 4577 | - ".xc" 4578 | tm_scope: source.xc 4579 | ace_mode: c_cpp 4580 | codemirror_mode: clike 4581 | codemirror_mime_type: text/x-csrc 4582 | language_id: 398 4583 | XML: 4584 | type: data 4585 | ace_mode: xml 4586 | codemirror_mode: xml 4587 | codemirror_mime_type: text/xml 4588 | aliases: 4589 | - rss 4590 | - xsd 4591 | - wsdl 4592 | extensions: 4593 | - ".xml" 4594 | - ".ant" 4595 | - ".axml" 4596 | - ".builds" 4597 | - ".ccxml" 4598 | - ".clixml" 4599 | - ".cproject" 4600 | - ".csl" 4601 | - ".csproj" 4602 | - ".ct" 4603 | - ".dita" 4604 | - ".ditamap" 4605 | - ".ditaval" 4606 | - ".dll.config" 4607 | - ".dotsettings" 4608 | - ".filters" 4609 | - ".fsproj" 4610 | - ".fxml" 4611 | - ".glade" 4612 | - ".gml" 4613 | - ".grxml" 4614 | - ".iml" 4615 | - ".ivy" 4616 | - ".jelly" 4617 | - ".jsproj" 4618 | - ".kml" 4619 | - ".launch" 4620 | - ".mdpolicy" 4621 | - ".mm" 4622 | - ".mod" 4623 | - ".mxml" 4624 | - ".nproj" 4625 | - ".nuspec" 4626 | - ".odd" 4627 | - ".osm" 4628 | - ".pkgproj" 4629 | - ".plist" 4630 | - ".pluginspec" 4631 | - ".props" 4632 | - ".ps1xml" 4633 | - ".psc1" 4634 | - ".pt" 4635 | - ".rdf" 4636 | - ".resx" 4637 | - ".rss" 4638 | - ".sch" 4639 | - ".scxml" 4640 | - ".sfproj" 4641 | - ".srdf" 4642 | - ".storyboard" 4643 | - ".stTheme" 4644 | - ".sublime-snippet" 4645 | - ".targets" 4646 | - ".tmCommand" 4647 | - ".tml" 4648 | - ".tmLanguage" 4649 | - ".tmPreferences" 4650 | - ".tmSnippet" 4651 | - ".tmTheme" 4652 | - ".ts" 4653 | - ".tsx" 4654 | - ".ui" 4655 | - ".urdf" 4656 | - ".ux" 4657 | - ".vbproj" 4658 | - ".vcxproj" 4659 | - ".vssettings" 4660 | - ".vxml" 4661 | - ".wsdl" 4662 | - ".wsf" 4663 | - ".wxi" 4664 | - ".wxl" 4665 | - ".wxs" 4666 | - ".x3d" 4667 | - ".xacro" 4668 | - ".xaml" 4669 | - ".xib" 4670 | - ".xlf" 4671 | - ".xliff" 4672 | - ".xmi" 4673 | - ".xml.dist" 4674 | - ".xproj" 4675 | - ".xsd" 4676 | - ".xul" 4677 | - ".zcml" 4678 | filenames: 4679 | - ".classpath" 4680 | - ".project" 4681 | - App.config 4682 | - NuGet.config 4683 | - Settings.StyleCop 4684 | - Web.Debug.config 4685 | - Web.Release.config 4686 | - Web.config 4687 | - packages.config 4688 | language_id: 399 4689 | XPages: 4690 | type: programming 4691 | extensions: 4692 | - ".xsp-config" 4693 | - ".xsp.metadata" 4694 | tm_scope: none 4695 | ace_mode: xml 4696 | codemirror_mode: xml 4697 | codemirror_mime_type: text/xml 4698 | language_id: 400 4699 | XProc: 4700 | type: programming 4701 | extensions: 4702 | - ".xpl" 4703 | - ".xproc" 4704 | tm_scope: text.xml 4705 | ace_mode: xml 4706 | codemirror_mode: xml 4707 | codemirror_mime_type: text/xml 4708 | language_id: 401 4709 | XQuery: 4710 | type: programming 4711 | color: "#5232e7" 4712 | extensions: 4713 | - ".xquery" 4714 | - ".xq" 4715 | - ".xql" 4716 | - ".xqm" 4717 | - ".xqy" 4718 | ace_mode: xquery 4719 | codemirror_mode: xquery 4720 | codemirror_mime_type: application/xquery 4721 | tm_scope: source.xq 4722 | language_id: 402 4723 | XS: 4724 | type: programming 4725 | extensions: 4726 | - ".xs" 4727 | tm_scope: source.c 4728 | ace_mode: c_cpp 4729 | codemirror_mode: clike 4730 | codemirror_mime_type: text/x-csrc 4731 | language_id: 403 4732 | XSLT: 4733 | type: programming 4734 | aliases: 4735 | - xsl 4736 | extensions: 4737 | - ".xslt" 4738 | - ".xsl" 4739 | tm_scope: text.xml.xsl 4740 | ace_mode: xml 4741 | codemirror_mode: xml 4742 | codemirror_mime_type: text/xml 4743 | color: "#EB8CEB" 4744 | language_id: 404 4745 | Xojo: 4746 | type: programming 4747 | extensions: 4748 | - ".xojo_code" 4749 | - ".xojo_menu" 4750 | - ".xojo_report" 4751 | - ".xojo_script" 4752 | - ".xojo_toolbar" 4753 | - ".xojo_window" 4754 | tm_scope: source.vbnet 4755 | ace_mode: text 4756 | language_id: 405 4757 | Xtend: 4758 | type: programming 4759 | extensions: 4760 | - ".xtend" 4761 | ace_mode: text 4762 | language_id: 406 4763 | YAML: 4764 | type: data 4765 | tm_scope: source.yaml 4766 | aliases: 4767 | - yml 4768 | extensions: 4769 | - ".yml" 4770 | - ".reek" 4771 | - ".rviz" 4772 | - ".sublime-syntax" 4773 | - ".syntax" 4774 | - ".yaml" 4775 | - ".yaml-tmlanguage" 4776 | filenames: 4777 | - ".clang-format" 4778 | ace_mode: yaml 4779 | codemirror_mode: yaml 4780 | codemirror_mime_type: text/x-yaml 4781 | language_id: 407 4782 | YANG: 4783 | type: data 4784 | extensions: 4785 | - ".yang" 4786 | tm_scope: source.yang 4787 | ace_mode: text 4788 | language_id: 408 4789 | Yacc: 4790 | type: programming 4791 | extensions: 4792 | - ".y" 4793 | - ".yacc" 4794 | - ".yy" 4795 | tm_scope: source.bison 4796 | ace_mode: text 4797 | color: "#4B6C4B" 4798 | language_id: 409 4799 | Zephir: 4800 | type: programming 4801 | color: "#118f9e" 4802 | extensions: 4803 | - ".zep" 4804 | tm_scope: source.php.zephir 4805 | ace_mode: php 4806 | language_id: 410 4807 | Zimpl: 4808 | type: programming 4809 | extensions: 4810 | - ".zimpl" 4811 | - ".zmpl" 4812 | - ".zpl" 4813 | tm_scope: none 4814 | ace_mode: text 4815 | language_id: 411 4816 | desktop: 4817 | type: data 4818 | extensions: 4819 | - ".desktop" 4820 | - ".desktop.in" 4821 | tm_scope: source.desktop 4822 | ace_mode: text 4823 | language_id: 412 4824 | eC: 4825 | type: programming 4826 | color: "#913960" 4827 | extensions: 4828 | - ".ec" 4829 | - ".eh" 4830 | tm_scope: source.c.ec 4831 | ace_mode: text 4832 | language_id: 413 4833 | edn: 4834 | type: data 4835 | ace_mode: clojure 4836 | codemirror_mode: clojure 4837 | codemirror_mime_type: text/x-clojure 4838 | extensions: 4839 | - ".edn" 4840 | tm_scope: source.clojure 4841 | language_id: 414 4842 | fish: 4843 | type: programming 4844 | group: Shell 4845 | interpreters: 4846 | - fish 4847 | extensions: 4848 | - ".fish" 4849 | tm_scope: source.fish 4850 | ace_mode: text 4851 | language_id: 415 4852 | mupad: 4853 | type: programming 4854 | extensions: 4855 | - ".mu" 4856 | ace_mode: text 4857 | language_id: 416 4858 | nesC: 4859 | type: programming 4860 | color: "#94B0C7" 4861 | extensions: 4862 | - ".nc" 4863 | ace_mode: text 4864 | tm_scope: source.nesc 4865 | language_id: 417 4866 | ooc: 4867 | type: programming 4868 | color: "#b0b77e" 4869 | extensions: 4870 | - ".ooc" 4871 | ace_mode: text 4872 | language_id: 418 4873 | reStructuredText: 4874 | type: prose 4875 | wrap: true 4876 | aliases: 4877 | - rst 4878 | extensions: 4879 | - ".rst" 4880 | - ".rest" 4881 | - ".rest.txt" 4882 | - ".rst.txt" 4883 | ace_mode: text 4884 | codemirror_mode: rst 4885 | codemirror_mime_type: text/x-rst 4886 | language_id: 419 4887 | wisp: 4888 | type: programming 4889 | ace_mode: clojure 4890 | codemirror_mode: clojure 4891 | codemirror_mime_type: text/x-clojure 4892 | color: "#7582D1" 4893 | extensions: 4894 | - ".wisp" 4895 | tm_scope: source.clojure 4896 | language_id: 420 4897 | xBase: 4898 | type: programming 4899 | color: "#403a40" 4900 | aliases: 4901 | - advpl 4902 | - clipper 4903 | - foxpro 4904 | extensions: 4905 | - ".prg" 4906 | - ".ch" 4907 | - ".prw" 4908 | tm_scope: source.harbour 4909 | ace_mode: text 4910 | language_id: 421 4911 | -------------------------------------------------------------------------------- /lib/languages/version.rb: -------------------------------------------------------------------------------- 1 | module Languages 2 | VERSION = "2.0.0" 3 | end 4 | -------------------------------------------------------------------------------- /lib/popular.yml: -------------------------------------------------------------------------------- 1 | # Popular languages appear at the top of language dropdowns 2 | # 3 | # This file should only be edited by GitHub staff 4 | 5 | - ActionScript 6 | - C 7 | - C# 8 | - C++ 9 | - CSS 10 | - Clojure 11 | - CoffeeScript 12 | - Go 13 | - HTML 14 | - Haskell 15 | - Java 16 | - JavaScript 17 | - Lua 18 | - Matlab 19 | - Objective-C 20 | - PHP 21 | - Perl 22 | - Python 23 | - R 24 | - Ruby 25 | - Scala 26 | - Shell 27 | - Swift 28 | - TeX 29 | - VimL 30 | -------------------------------------------------------------------------------- /spec/languages_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | require 'languages' 3 | 4 | describe Languages::Language do 5 | describe ".by_extension" do 6 | it "returns an array of candidate languages by extension" do 7 | ruby_language = described_class.find_by_name("Ruby") 8 | 9 | expect(described_class.by_extension('.rb')).to eq([ruby_language]) 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | RSpec.configure do |config| 2 | config.expect_with :rspec do |expectations| 3 | expectations.include_chain_clauses_in_custom_matcher_descriptions = true 4 | end 5 | 6 | config.mock_with :rspec do |mocks| 7 | mocks.verify_partial_doubles = true 8 | end 9 | end 10 | --------------------------------------------------------------------------------