├── .gitignore
├── .jshintrc
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── _icons
├── circular
│ ├── circular-128x128.png
│ ├── circular-16x16.png
│ ├── circular-256x256.png
│ ├── circular-32x32.png
│ ├── circular-48x48.png
│ ├── circular.icns
│ ├── circular.ico
│ └── circular.png
├── rounded
│ ├── rounded-128x128.png
│ ├── rounded-16x16.png
│ ├── rounded-256x256.png
│ ├── rounded-32x32.png
│ ├── rounded-48x48.png
│ ├── rounded.icns
│ ├── rounded.ico
│ └── rounded.png
├── source.ai
└── squared
│ ├── squared-128x128.png
│ ├── squared-16x16.png
│ ├── squared-256x256.png
│ ├── squared-32x32.png
│ ├── squared-48x48.png
│ ├── squared.icns
│ ├── squared.ico
│ └── squared.png
├── index.less
├── lib
├── dom.coffee
├── main.coffee
└── settings.coffee
├── package.json
├── sample-files
├── .htaccess
├── Bower.json
├── CSS.css
├── CoffeScript.coffee
├── CoffeeReact.cjsx
├── EJS.ejs
├── Favicon.ico
├── Gruntfile.js
├── Gulpfile.js
├── Handlebars.hbs
├── Html.html
├── Image.ai
├── JSON.json
├── Jade.jade
├── JavaScript.js
├── Julia.jl
├── LICENSE
├── Less.less
├── Markdown.md
├── Mustache.mustache
├── PHP.php
├── Procfile
├── Pug.pug
├── Python.py
├── React.jsx
├── Ruby.rb
├── Sass.scss
├── Stache.stache
├── Stylus.styl
├── Text.txt
├── Typescript.ts
├── XML.xml
├── YML.yml
└── ink.ink
├── screenshot-colors.png
├── screenshot-settings.png
├── screenshot.png
└── styles
├── colors.less
├── colors
└── primary.less
├── editor.less
├── languages
├── css.less
├── gfm.less
├── go.less
├── html.less
├── ink.less
├── jade.less
├── javascript.less
├── json.less
├── markdown.less
├── mustache.less
├── perl.less
└── python.less
├── plugins.less
├── plugins
└── git-time-machine.less
├── syntax-variables.less
├── syntax.less
├── themes
├── blue.less
├── default.less
├── green.less
├── orange.less
├── pink.less
├── purple.less
├── red.less
├── steel.less
└── yellow.less
└── user-theme.less
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | npm-debug.log
3 | node_modules
4 |
--------------------------------------------------------------------------------
/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "node": true,
3 | "browser": true,
4 | "esnext": true,
5 | "bitwise": false,
6 | "camelcase": false,
7 | "curly": false,
8 | "eqeqeq": true,
9 | "immed": true,
10 | "latedef": true,
11 | "newcap": true,
12 | "noarg": true,
13 | "quotmark": "single",
14 | "regexp": true,
15 | "undef": true,
16 | "unused": false,
17 | "strict": false,
18 | "trailing": true,
19 | "smarttabs": false,
20 | "indent": 2,
21 | "devel": false,
22 | "noempty": true
23 | }
24 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 1.2.0
4 | - Remove spurious background from `.meta.separator`
5 | - Fix priority of `.source` ruleset
6 | - Improve highlighting of errors and invalid whitespace
7 | - Colour Pod entity references as character escapes
8 | - Add error highlighting to illegal whitespace in Pod
9 | - Add syntax-colouring tweaks for Perl and Pod files
10 | - Tweak colour applied to multiline unquoted strings
11 | - Add highlighting to unquoted/misc string patterns
12 |
13 | ## 1.1.2
14 | - Remove apmInstallSource
15 |
16 | ## 1.1.1
17 | - Fix deprecated selectors
18 | - Add support for Ink syntax
19 | - Update Markdown syntax
20 | - Update Jade syntax
21 |
22 | ## 1.1.0
23 | - Skipped due to apm `Git tag not found` error.
24 |
25 | ## 1.0.1
26 | - Fix "path not defined" bug
27 |
28 | ## 1.0.0
29 | * Misc tweaks to syntax colors
30 | * Consolidate duplicate language styles into syntax.less file
31 | * Add config file for user settings
32 | * Add theme files for syntax color options
33 | * Blue (Default)
34 | * Green
35 | * Orange
36 | * Pink
37 | * Purple
38 | * Steel
39 | * Yellow
40 | * Enable user to select theme style in setting
41 | * Enable dynamic syntax color based on UI theme
42 | * Update syntax theme ui theme changes
43 | * Allow disabling of dynamic syntax theme in settings
44 |
45 |
46 | ## 0.4.2
47 | * Add Javascript less file
48 | * Improve Python syntax highlighting
49 | * Fix nested JSON styles
50 |
51 | ## 0.4.1
52 | * Fix cursor position error
53 |
54 | ## 0.4.0
55 | * Improve Golang syntax support
56 | * Removed hightlight border
57 | * Fixed the deprecated call introduced in atom v0.189
58 | * Fixed crasher
59 | * Move to "stylesheet" vs "styles" folder for Atom 1.0
60 |
61 |
62 | ## 0.3.3
63 | * Fix C/C++ parenthesis highlighting
64 | * Adjust gutter padding
65 |
66 | ## 0.3.2
67 | * Fix deprecation errors
68 | * Update JSON syntax
69 | * Add sample files for testing various languages
70 |
71 | ## 0.3.1
72 | * Remove reference to non-existant stylesheet
73 |
74 | ## 0.3
75 | * Break syntax into modules to make language specific styles easier to manage
76 | * Add specific styles for HTML, Jade, Handlebars, Mustache
77 |
78 | ## 0.2.1
79 | * Update text selection color
80 |
81 | ## 0.2
82 | * Make compatible with atom-text-editor shadow DOM
83 | * Fix bracket matcher styling
84 |
85 | ## 0.0.0 - First Release
86 | * Create initial theme files
87 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Jesse Weed
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Seti Syntax
2 |
3 |
4 | [](https://gitter.im/jesseweed/seti-syntax) [](https://atom.io/themes/seti-syntax) [](https://atom.io/themes/seti-syntax) [](https://atom.io/themes/seti-syntax)
5 | [](https://gratipay.com/Atom-Seti-UI/)
6 |
7 |
8 | This is the latest version of the Seti Syntax theme. It's a dark syntax theme crafted especially for [Atom](http://atom.io), with subtle colors that are meant to be easy on the eyes. It is mean to be paired with [Seti UI](https://atom.io/themes/seti-ui) (though this is hardly a requirement).
9 |
10 |
11 | -----
12 |
13 | ##### **Please Note:** This is the Seti syntax theme for [Atom](http://atom.io) only
14 |
15 | This is for the _syntax_ (i.e. code view) of the Atom editor. I also have [Seti UI](https://atom.io/themes/seti-ui) for theming the _interface_ in Atom.
16 |
17 | If you're not in the market for an Atom theme, you can have a look at one of these great ports for other platforms:
18 |
19 | + [Emacs](https://github.com/caisah/seti-theme)
20 | + [iTerm](https://github.com/willmanduffy/seti-iterm)
21 | + [JetBrains](https://github.com/zchee/Seti_JetBrains)
22 | + [Sublime Text 3](https://packagecontrol.io/packages/Seti_UI)
23 | + [Vim](https://github.com/trusktr/seti.vim)
24 | + [Hyper](https://github.com/unluisco/hyperseti)
25 |
26 | -----
27 |
28 | ## What's New? 1.0 Update
29 | Seti has reached 1.0, and it now integrates more tightly with Seti UI. There is also a new settings interface that allows you to select a base color theme.
30 |
31 | 
32 |
33 | -----
34 |
35 | ## Settings
36 | _To get here, Go to "Atom > Preferences" Select "Themes" and click the settings icon next to "Seti" under Syntax Theme dropdown_
37 |
38 | 
39 |
40 | You can choose to have the syntax theme automatically adjust to match your selected theme in Seti UI (default), or select one of the built in themes.
41 |
42 | _Please note this is some-what of a beta feature. The default blue theme has been pretty well tested, but the other colors are still being tweaked. Keep an eye out for updates, and please file a bug if you notice anything weird._
43 |
44 | 
45 |
46 | -----
47 |
48 | ### Custom Icons
49 | [  ](_icons/circular/)
50 | [  ](_icons/rounded/)
51 | [  ](_icons/squared/)
52 |
--------------------------------------------------------------------------------
/_icons/circular/circular-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular-128x128.png
--------------------------------------------------------------------------------
/_icons/circular/circular-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular-16x16.png
--------------------------------------------------------------------------------
/_icons/circular/circular-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular-256x256.png
--------------------------------------------------------------------------------
/_icons/circular/circular-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular-32x32.png
--------------------------------------------------------------------------------
/_icons/circular/circular-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular-48x48.png
--------------------------------------------------------------------------------
/_icons/circular/circular.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular.icns
--------------------------------------------------------------------------------
/_icons/circular/circular.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular.ico
--------------------------------------------------------------------------------
/_icons/circular/circular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/circular/circular.png
--------------------------------------------------------------------------------
/_icons/rounded/rounded-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded-128x128.png
--------------------------------------------------------------------------------
/_icons/rounded/rounded-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded-16x16.png
--------------------------------------------------------------------------------
/_icons/rounded/rounded-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded-256x256.png
--------------------------------------------------------------------------------
/_icons/rounded/rounded-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded-32x32.png
--------------------------------------------------------------------------------
/_icons/rounded/rounded-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded-48x48.png
--------------------------------------------------------------------------------
/_icons/rounded/rounded.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded.icns
--------------------------------------------------------------------------------
/_icons/rounded/rounded.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded.ico
--------------------------------------------------------------------------------
/_icons/rounded/rounded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/rounded/rounded.png
--------------------------------------------------------------------------------
/_icons/source.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/source.ai
--------------------------------------------------------------------------------
/_icons/squared/squared-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared-128x128.png
--------------------------------------------------------------------------------
/_icons/squared/squared-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared-16x16.png
--------------------------------------------------------------------------------
/_icons/squared/squared-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared-256x256.png
--------------------------------------------------------------------------------
/_icons/squared/squared-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared-32x32.png
--------------------------------------------------------------------------------
/_icons/squared/squared-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared-48x48.png
--------------------------------------------------------------------------------
/_icons/squared/squared.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared.icns
--------------------------------------------------------------------------------
/_icons/squared/squared.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared.ico
--------------------------------------------------------------------------------
/_icons/squared/squared.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/_icons/squared/squared.png
--------------------------------------------------------------------------------
/index.less:
--------------------------------------------------------------------------------
1 | @import "styles/colors";
2 | @import "styles/editor";
3 | @import "styles/plugins";
4 | @import "styles/syntax";
5 |
6 | // Language specific styles
7 | @import "styles/languages/css";
8 | @import "styles/languages/gfm";
9 | @import "styles/languages/go";
10 | @import "styles/languages/html";
11 | @import "styles/languages/ink";
12 | @import "styles/languages/jade";
13 | @import "styles/languages/javascript";
14 | @import "styles/languages/json";
15 | @import "styles/languages/markdown";
16 | @import "styles/languages/mustache";
17 | @import "styles/languages/perl";
18 | @import "styles/languages/python";
19 |
20 | // PLUGINS
21 | @import "styles/plugins/git-time-machine";
22 |
--------------------------------------------------------------------------------
/lib/dom.coffee:
--------------------------------------------------------------------------------
1 | module.exports =
2 | query: (el) ->
3 | document.querySelector el
4 |
5 | queryAll: (el) ->
6 | document.querySelectorAll el
7 |
8 | addClass: (el, className) ->
9 | @toggleClass 'add', el, className
10 |
11 | removeClass: (el, className) ->
12 | @toggleClass 'remove', el, className
13 |
14 | toggleClass: (action, el, className) ->
15 | if el != null
16 | i = 0
17 | while i < el.length
18 | el[i].classList[action] className
19 | i++
20 |
--------------------------------------------------------------------------------
/lib/main.coffee:
--------------------------------------------------------------------------------
1 | module.exports =
2 | activate: (state) ->
3 | require( atom.packages.getLoadedPackage('seti-syntax').path + '/lib/settings').init(state)
4 |
--------------------------------------------------------------------------------
/lib/settings.coffee:
--------------------------------------------------------------------------------
1 | Dom = require('./dom')
2 |
3 | module.exports =
4 | init: (state) ->
5 |
6 | self = @
7 | @themeSet = false
8 |
9 | # ONCE PACKAGE IS LOADED
10 | if self.isLoaded('seti-syntax')
11 |
12 | # WHEN SYNTAX THEME CHANGES
13 | atom.config.onDidChange 'seti-syntax.themeColor', (value) ->
14 | self.setTheme value.newValue, value.oldValue, true
15 |
16 | # WHEN DYNAMIC THEME IS ENABLED OR DISABLED
17 | atom.config.onDidChange 'seti-syntax.dynamicColor', (value) ->
18 | # IF DYNIMIC IS ALLWOED
19 | if (value.newValue)
20 | newColor = atom.config.get('seti-ui.themeColor')
21 | self.setTheme newColor, false, true
22 | # IF DYNAMIC IS NOT ALLOWED
23 | else
24 | # IF SYNTAX COLOR HAS BEEN SET
25 | if (atom.config.get('seti-syntax.themeColor'))
26 | newColor = atom.config.get('seti-syntax.themeColor')
27 | # FALLBACK TP DEFAULT COLO IF NONE SET
28 | else
29 | newColor = 'default'
30 | self.setTheme newColor, false, true
31 |
32 | # IF SETI UI IS LOADED
33 | if self.isLoaded('seti-ui')
34 |
35 | # IF DYNAMIC THEM IS ALLOWED
36 | if atom.config.get('seti-syntax.dynamicColor') and not @themeSet
37 | # SET SYNTAX THEME TO MATCH UI
38 | self.setTheme atom.config.get('seti-ui.themeColor'), false, false
39 |
40 | # WHEN UI THEME CHANGES
41 | atom.config.onDidChange 'seti-ui.themeColor', (value) ->
42 | # IF DYNAMIC THEM IS ALLOWED
43 | if atom.config.get('seti-syntax.dynamicColor')
44 | # SET SYNTAX THEME TO MATCH UI
45 | self.setTheme value.newValue, value.oldValue, false
46 |
47 | # IF SETI UI IS DEACTIVATED
48 | self.onDeactivate 'seti-ui', ->
49 | # IF DYNAMIC THEM WAS ALLOWED
50 | if atom.config.get('seti-syntax.dynamicColor')
51 | # SET THEME TO DEFAULT
52 | self.setTheme 'default', false, false
53 |
54 | # SET USER THEME IS NOT SET DYNAMICALLY
55 | if (atom.config.get('seti-syntax.themeColor')) and not @themeSet
56 | self.setTheme atom.config.get('seti-syntax.themeColor'), false, false
57 |
58 | # IF ALL ELSE HAS FAILED, LOAD THE DEFAULT THEME
59 | else if (not @themeSet)
60 | self.setTheme 'default', false, false
61 |
62 | # CHECKS IF A PACKAGE IS LOADED
63 | isLoaded: (which) ->
64 | return atom.packages.isPackageLoaded(which)
65 |
66 | # WHEN PACKAGE ACTIVATES
67 | onActivate: (which, cb) ->
68 | atom.packages.onDidActivatePackage (pkg) ->
69 | if pkg.name == which
70 | cb pkg
71 |
72 | # WHEN PACKAGE DEACTIVATES
73 | onDeactivate: (which, cb) ->
74 | atom.packages.onDidDeactivatePackage (pkg) ->
75 | if pkg.name == which
76 | cb pkg
77 |
78 | # GET INFO ABOUT OUR PACKAGE
79 | package: atom.packages.getLoadedPackage('seti-syntax')
80 |
81 | # DETERMINE IF A SPECIFIC PACKAGE HAS BEEN LOADED
82 | packageInfo: (which) ->
83 | return atom.packages.getLoadedPackage which
84 |
85 | # RELOAD WHEN SETTINGS CHANGE
86 | refresh: ->
87 | self = @
88 | self.package.deactivate()
89 | setImmediate ->
90 | return self.package.activate()
91 |
92 | setTheme: (theme, previous, reload) ->
93 | self = @
94 | fs = require('fs')
95 | pkg = @package
96 | themeData = '@import "themes/' + theme.toLowerCase() + '";'
97 |
98 | # THIS PREVENTS THEME FROM BEING SET TWICE
99 | @themeSet = true
100 |
101 | # CHECK CURRENT THEME FILE
102 | fs.readFile pkg.path + '/styles/user-theme.less', 'utf8', (err, fileData) ->
103 | # IF THEME IS DIFFERENT THAN IS USED TO BE
104 | if fileData != themeData
105 | # SAVE A NEW USER THEME FILE
106 | fs.writeFile pkg.path + '/styles/user-theme.less', themeData, (err) ->
107 | # IF FILE WAS WRITTEN OK
108 | if !err
109 | # RELOAD THE VIEW
110 | self.refresh()
111 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "seti-syntax",
3 | "theme": "syntax",
4 | "version": "1.2.0",
5 | "description": "Seti Syntax - A subtle dark colored theme for Atom.",
6 | "main": "./lib/main",
7 | "repository": "https://github.com/jesseweed/seti-syntax",
8 | "license": "MIT",
9 | "engines": {
10 | "atom": ">1.6"
11 | },
12 | "configSchema": {
13 | "dynamicColor": {
14 | "title": "Dynamic Theme",
15 | "description": "Enable this to set syntax color dynamically based on seti ui theme.",
16 | "type": "boolean",
17 | "default": true
18 | },
19 | "themeColor": {
20 | "title": "Theme Color",
21 | "description": "Set your default syntax color (this will be ignored if dynamic theme is enabled above).",
22 | "type": "string",
23 | "enum": [
24 | "Blue",
25 | "Green",
26 | "Orange",
27 | "Pink",
28 | "Purple",
29 | "Red",
30 | "Steel",
31 | "Yellow"
32 | ],
33 | "default": "Blue"
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/sample-files/.htaccess:
--------------------------------------------------------------------------------
1 | Options +FollowSymLinks
2 | RewriteEngine On
3 |
4 | RewriteCond %{REQUEST_FILENAME} !-d
5 | RewriteCond %{REQUEST_FILENAME} !-f
6 | RewriteRule ^ index.php [L]
7 |
--------------------------------------------------------------------------------
/sample-files/Bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyProject",
3 | "version": 0.0.1,
4 | "dependencies": {
5 | "backbone": "latest",
6 | "requirejs": "2.1.1"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/sample-files/CSS.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Raleway';
3 | font-style: normal;
4 | font-weight: 300;
5 | src: local('Raleway Light'), local('Raleway-Light'), url("http://themes.googleusercontent.com/static/fonts/raleway/v6/-_Ctzj9b56b8RgXW8FArib3hpw3pgy2gAi-Ip7WPMi0.woff") format('woff');
6 | }
7 | @font-face {
8 | font-family: 'Raleway';
9 | font-style: normal;
10 | font-weight: 400;
11 | src: local('Raleway'), url("http://themes.googleusercontent.com/static/fonts/raleway/v6/cIFypx4yrWPDz3zOxk7hIQLUuEpTyoUstqEm5AMlJo4.woff") format('woff');
12 | }
13 | @font-face {
14 | font-family: 'Raleway';
15 | font-style: normal;
16 | font-weight: 500;
17 | src: local('Raleway Medium'), local('Raleway-Medium'), url("http://themes.googleusercontent.com/static/fonts/raleway/v6/CcKI4k9un7TZVWzRVT-T873hpw3pgy2gAi-Ip7WPMi0.woff") format('woff');
18 | }
19 | @font-face {
20 | font-family: 'Raleway';
21 | font-style: normal;
22 | font-weight: 700;
23 | src: local('Raleway Bold'), local('Raleway-Bold'), url("http://themes.googleusercontent.com/static/fonts/raleway/v6/JbtMzqLaYbbbCL9X6EvaI73hpw3pgy2gAi-Ip7WPMi0.woff") format('woff');
24 | }
25 | article,
26 | aside,
27 | details,
28 | figcaption,
29 | figure,
30 | footer,
31 | header,
32 | hgroup,
33 | main,
34 | nav,
35 | section,
36 | summary {
37 | display: block;
38 | }
39 | audio,
40 | canvas,
41 | video {
42 | display: inline-block;
43 | }
44 | audio:not([controls]) {
45 | display: none;
46 | height: 0;
47 | }
48 | [hidden] {
49 | display: none;
50 | }
51 | html {
52 | font-family: sans-serif;
53 | -webkit-text-size-adjust: 100%;
54 | -ms-text-size-adjust: 100%;
55 | }
56 | body {
57 | margin: 0;
58 | }
59 | a:focus {
60 | outline: thin dotted;
61 | }
62 | a:active,
63 | a:hover {
64 | outline: 0;
65 | }
66 | h1 {
67 | font-size: 2em;
68 | margin: 0.67em 0;
69 | }
70 | abbr[title] {
71 | border-bottom: 1px dotted;
72 | }
73 | b,
74 | strong {
75 | font-weight: bold;
76 | }
77 | dfn {
78 | font-style: italic;
79 | }
80 | hr {
81 | -moz-box-sizing: content-box;
82 | box-sizing: content-box;
83 | height: 0;
84 | }
85 | mark {
86 | background: #ff0;
87 | color: #000;
88 | }
89 | code,
90 | kbd,
91 | pre,
92 | samp {
93 | font-family: monospace, serif;
94 | font-size: 1em;
95 | }
96 | pre {
97 | white-space: pre-wrap;
98 | }
99 | q {
100 | quotes: "\201C" "\201D" "\2018" "\2019";
101 | }
102 | small {
103 | font-size: 80%;
104 | }
105 | sub,
106 | sup {
107 | font-size: 75%;
108 | line-height: 0;
109 | position: relative;
110 | vertical-align: baseline;
111 | }
112 | sup {
113 | top: -0.5em;
114 | }
115 | sub {
116 | bottom: -0.25em;
117 | }
118 | img {
119 | border: 0;
120 | }
121 | svg:not(:root) {
122 | overflow: hidden;
123 | }
124 | figure {
125 | margin: 0;
126 | }
127 | fieldset {
128 | border: 1px solid #c0c0c0;
129 | margin: 0 2px;
130 | padding: 0.35em 0.625em 0.75em;
131 | }
132 | legend {
133 | border: 0;
134 | padding: 0;
135 | }
136 | button,
137 | input,
138 | select,
139 | textarea {
140 | font-family: inherit;
141 | font-size: 100%;
142 | margin: 0;
143 | }
144 | button,
145 | input {
146 | line-height: normal;
147 | }
148 | button,
149 | select {
150 | text-transform: none;
151 | }
152 | button,
153 | html input[type="button"],
154 | input[type="reset"],
155 | input[type="submit"] {
156 | -webkit-appearance: button;
157 | cursor: pointer;
158 | }
159 | button[disabled],
160 | html input[disabled] {
161 | cursor: default;
162 | }
163 | input[type="checkbox"],
164 | input[type="radio"] {
165 | box-sizing: border-box;
166 | padding: 0;
167 | }
168 | input[type="search"] {
169 | -webkit-appearance: textfield;
170 | -moz-box-sizing: content-box;
171 | -webkit-box-sizing: content-box;
172 | box-sizing: content-box;
173 | }
174 | input[type="search"]::-webkit-search-cancel-button,
175 | input[type="search"]::-webkit-search-decoration {
176 | -webkit-appearance: none;
177 | }
178 | button::-moz-focus-inner,
179 | input::-moz-focus-inner {
180 | border: 0;
181 | padding: 0;
182 | }
183 | textarea {
184 | overflow: auto;
185 | vertical-align: top;
186 | }
187 | table {
188 | border-collapse: collapse;
189 | border-spacing: 0;
190 | }
191 | * {
192 | -webkit-box-sizing: border-box;
193 | -moz-box-sizing: border-box;
194 | box-sizing: border-box;
195 | outline: none;
196 | }
197 | html,
198 | body {
199 | background-color: #fff;
200 | height: 100%;
201 | }
202 | html {
203 | font-size: 100%;
204 | margin: 0;
205 | padding: 0;
206 | }
207 | body {
208 | font-size: 14px;
209 | font-family: 'Raleway', sans-serif;
210 | line-height: 1.5em;
211 | font-weight: 400;
212 | }
213 | h1,
214 | h2,
215 | h3,
216 | h4,
217 | h5,
218 | h6 {
219 | margin: 0px 0px 5px 0px;
220 | padding: 0px;
221 | }
222 | h1 {
223 | padding-bottom: 10px;
224 | }
225 | pre {
226 | line-height: 200%;
227 | font-size: 12px;
228 | background-color: rgba(255,0,0,0.05);
229 | padding: 20px;
230 | }
231 | .content {
232 | padding: 30px;
233 | }
234 | .block {
235 | display: block;
236 | }
237 | .inline {
238 | display: inline;
239 | }
240 | .inline-block {
241 | display: inline-block;
242 | }
243 | .bad {
244 | color: #c00;
245 | }
246 | .good {
247 | color: #2fbb20;
248 | }
249 | .highlight {
250 | color: #d98a38;
251 | }
252 |
--------------------------------------------------------------------------------
/sample-files/CoffeScript.coffee:
--------------------------------------------------------------------------------
1 | # Assignment:
2 | number = 42
3 | opposite = true
4 |
5 | # Conditions:
6 | number = -42 if opposite
7 |
8 | # Functions:
9 | square = (x) -> x * x
10 |
11 | # Arrays:
12 | list = [1, 2, 3, 4, 5]
13 |
14 | # Objects:
15 | math =
16 | root: Math.sqrt
17 | square: square
18 | cube: (x) -> x * square x
19 |
20 | # Splats:
21 | race = (winner, runners...) ->
22 | print winner, runners
23 |
24 | # Existence:
25 | alert "I knew it!" if elvis?
26 |
27 | # Array comprehensions:
28 | cubes = (math.cube num for num in list)
29 |
--------------------------------------------------------------------------------
/sample-files/CoffeeReact.cjsx:
--------------------------------------------------------------------------------
1 | # @cjsx React.DOM
2 |
3 | NeatComponent = React.createClass
4 | render: ->
5 |
6 | {
A Component is I
if @props.showTitle}
7 |
8 | {
This line has been printed {n} times
for n in [1..10]}
9 |
10 |
--------------------------------------------------------------------------------
/sample-files/EJS.ejs:
--------------------------------------------------------------------------------
1 |
2 | <% for(var i=0; i
3 | - <%= supplies[i] %>
4 | <% } %>
5 |
6 |
--------------------------------------------------------------------------------
/sample-files/Favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/sample-files/Favicon.ico
--------------------------------------------------------------------------------
/sample-files/Gruntfile.js:
--------------------------------------------------------------------------------
1 | module.exports = function(grunt) {
2 |
3 | grunt.initConfig({
4 | jshint: {
5 | files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
6 | options: {
7 | globals: {
8 | jQuery: true
9 | }
10 | }
11 | },
12 | watch: {
13 | files: ['<%= jshint.files %>'],
14 | tasks: ['jshint']
15 | }
16 | });
17 |
18 | grunt.loadNpmTasks('grunt-contrib-jshint');
19 | grunt.loadNpmTasks('grunt-contrib-watch');
20 |
21 | grunt.registerTask('default', ['jshint']);
22 |
23 | };
24 |
--------------------------------------------------------------------------------
/sample-files/Gulpfile.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Web Starter Kit
4 | * Copyright 2014 Google Inc. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * https://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License
17 | *
18 | */
19 |
20 | 'use strict';
21 |
22 | // Include Gulp & Tools We'll Use
23 | var gulp = require('gulp');
24 | var $ = require('gulp-load-plugins')();
25 | var del = require('del');
26 | var runSequence = require('run-sequence');
27 | var browserSync = require('browser-sync');
28 | var pagespeed = require('psi');
29 | var reload = browserSync.reload;
30 |
31 | var AUTOPREFIXER_BROWSERS = [
32 | 'ie >= 10',
33 | 'ie_mob >= 10',
34 | 'ff >= 30',
35 | 'chrome >= 34',
36 | 'safari >= 7',
37 | 'opera >= 23',
38 | 'ios >= 7',
39 | 'android >= 4.4',
40 | 'bb >= 10'
41 | ];
42 |
43 | // Lint JavaScript
44 | gulp.task('jshint', function () {
45 | return gulp.src('app/scripts/**/*.js')
46 | .pipe(reload({stream: true, once: true}))
47 | .pipe($.jshint())
48 | .pipe($.jshint.reporter('jshint-stylish'))
49 | .pipe($.if(!browserSync.active, $.jshint.reporter('fail')));
50 | });
51 |
52 | // Optimize Images
53 | gulp.task('images', function () {
54 | return gulp.src('app/images/**/*')
55 | .pipe($.cache($.imagemin({
56 | progressive: true,
57 | interlaced: true
58 | })))
59 | .pipe(gulp.dest('dist/images'))
60 | .pipe($.size({title: 'images'}));
61 | });
62 |
63 | // Copy All Files At The Root Level (app)
64 | gulp.task('copy', function () {
65 | return gulp.src([
66 | 'app/*',
67 | '!app/*.html',
68 | 'node_modules/apache-server-configs/dist/.htaccess'
69 | ], {
70 | dot: true
71 | }).pipe(gulp.dest('dist'))
72 | .pipe($.size({title: 'copy'}));
73 | });
74 |
75 | // Copy Web Fonts To Dist
76 | gulp.task('fonts', function () {
77 | return gulp.src(['app/fonts/**'])
78 | .pipe(gulp.dest('dist/fonts'))
79 | .pipe($.size({title: 'fonts'}));
80 | });
81 |
82 | // Compile and Automatically Prefix Stylesheets
83 | gulp.task('styles', function () {
84 | // For best performance, don't add Sass partials to `gulp.src`
85 | return gulp.src([
86 | 'app/styles/*.scss',
87 | 'app/styles/**/*.css',
88 | 'app/styles/components/components.scss'
89 | ])
90 | .pipe($.sourcemaps.init())
91 | .pipe($.changed('.tmp/styles', {extension: '.css'}))
92 | .pipe($.sass({
93 | precision: 10,
94 | onError: console.error.bind(console, 'Sass error:')
95 | }))
96 | .pipe($.autoprefixer({browsers: AUTOPREFIXER_BROWSERS}))
97 | .pipe($.sourcemaps.write())
98 | .pipe(gulp.dest('.tmp/styles'))
99 | // Concatenate And Minify Styles
100 | .pipe($.if('*.css', $.csso()))
101 | .pipe(gulp.dest('dist/styles'))
102 | .pipe($.size({title: 'styles'}));
103 | });
104 |
105 | // Scan Your HTML For Assets & Optimize Them
106 | gulp.task('html', function () {
107 | var assets = $.useref.assets({searchPath: '{.tmp,app}'});
108 |
109 | return gulp.src('app/**/*.html')
110 | .pipe(assets)
111 | // Concatenate And Minify JavaScript
112 | .pipe($.if('*.js', $.uglify({preserveComments: 'some'})))
113 | // Remove Any Unused CSS
114 | // Note: If not using the Style Guide, you can delete it from
115 | // the next line to only include styles your project uses.
116 | .pipe($.if('*.css', $.uncss({
117 | html: [
118 | 'app/index.html',
119 | 'app/styleguide.html'
120 | ],
121 | // CSS Selectors for UnCSS to ignore
122 | ignore: [
123 | /.navdrawer-container.open/,
124 | /.app-bar.open/
125 | ]
126 | })))
127 | // Concatenate And Minify Styles
128 | // In case you are still using useref build blocks
129 | .pipe($.if('*.css', $.csso()))
130 | .pipe(assets.restore())
131 | .pipe($.useref())
132 | // Update Production Style Guide Paths
133 | .pipe($.replace('components/components.css', 'components/main.min.css'))
134 | // Minify Any HTML
135 | .pipe($.if('*.html', $.minifyHtml()))
136 | // Output Files
137 | .pipe(gulp.dest('dist'))
138 | .pipe($.size({title: 'html'}));
139 | });
140 |
141 | // Clean Output Directory
142 | gulp.task('clean', del.bind(null, ['.tmp', 'dist/*', '!dist/.git'], {dot: true}));
143 |
144 | // Watch Files For Changes & Reload
145 | gulp.task('serve', ['styles'], function () {
146 | browserSync({
147 | notify: false,
148 | // Customize the BrowserSync console logging prefix
149 | logPrefix: 'WSK',
150 | // Run as an https by uncommenting 'https: true'
151 | // Note: this uses an unsigned certificate which on first access
152 | // will present a certificate warning in the browser.
153 | // https: true,
154 | server: ['.tmp', 'app']
155 | });
156 |
157 | gulp.watch(['app/**/*.html'], reload);
158 | gulp.watch(['app/styles/**/*.{scss,css}'], ['styles', reload]);
159 | gulp.watch(['app/scripts/**/*.js'], ['jshint']);
160 | gulp.watch(['app/images/**/*'], reload);
161 | });
162 |
163 | // Build and serve the output from the dist build
164 | gulp.task('serve:dist', ['default'], function () {
165 | browserSync({
166 | notify: false,
167 | logPrefix: 'WSK',
168 | // Run as an https by uncommenting 'https: true'
169 | // Note: this uses an unsigned certificate which on first access
170 | // will present a certificate warning in the browser.
171 | // https: true,
172 | server: 'dist'
173 | });
174 | });
175 |
176 | // Build Production Files, the Default Task
177 | gulp.task('default', ['clean'], function (cb) {
178 | runSequence('styles', ['jshint', 'html', 'images', 'fonts', 'copy'], cb);
179 | });
180 |
181 | // Run PageSpeed Insights
182 | gulp.task('pagespeed', function (cb) {
183 | // Update the below URL to the public URL of your site
184 | pagespeed.output('example.com', {
185 | strategy: 'mobile',
186 | // By default we use the PageSpeed Insights free (no API key) tier.
187 | // Use a Google Developer API key if you have one: http://goo.gl/RkN0vE
188 | // key: 'YOUR_API_KEY'
189 | }, cb);
190 | });
191 |
192 | // Load custom tasks from the `tasks` directory
193 | // try { require('require-dir')('tasks'); } catch (err) { console.error(err); }
194 |
--------------------------------------------------------------------------------
/sample-files/Handlebars.hbs:
--------------------------------------------------------------------------------
1 | {{> header}}
2 |
3 |
4 | Hello!
5 | Welcome to {{site.name}}
6 |
7 |
8 | {{> footer}}
9 |
--------------------------------------------------------------------------------
/sample-files/Html.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Jade
5 |
12 |
13 |
14 | Jade - node template engine
15 |
16 |
You are amazing
17 |
18 | Jade is a terse and simple
19 | templating language with a
20 | strong focus on performance
21 | and powerful features.
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sample-files/Image.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/sample-files/Image.ai
--------------------------------------------------------------------------------
/sample-files/JSON.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyProject",
3 | "version": 0.0.1,
4 | "dependencies": {
5 | "backbone": "latest",
6 | "requirejs": "2.1.1"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/sample-files/Jade.jade:
--------------------------------------------------------------------------------
1 | doctype html
2 | html(lang="en")
3 | head
4 | title= pageTitle
5 | script(type='text/javascript').
6 | var foo = false;
7 | if (foo) {
8 | var bar = 6;
9 | return bar;
10 | }
11 | body
12 | h1 Jade - node template engine
13 | #container.col
14 | if youAreUsingJade
15 | p You are amazing
16 | else
17 | p Get on it!
18 | p.
19 | Jade is a terse and simple
20 | templating language with a
21 | strong focus on performance
22 | and powerful features.
23 |
24 | include ../file.name
25 |
26 | //- i am a comment
27 | block dynamic-content
28 |
29 | ul
30 | each item in group
31 | li #{item} name
32 |
--------------------------------------------------------------------------------
/sample-files/JavaScript.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | HIGHLIGHTING: https://github.com/atom/language-javascript/blob/master/grammars/javascript.cson
4 | FILE TYPES: 'js', 'htc', '_js', 'es', 'es6', 'jsm', 'pac', 'pjs', 'xsjs', 'xsjslib'
5 | WRAPPER: source.js
6 |
7 | */
8 |
9 |
10 | /*
11 |
12 | COMMENTS
13 | --------
14 | CLASS: punctuation.definition.comment.js
15 | TRIGGERS: js single line or comment blocks
16 |
17 | */
18 |
19 |
20 |
21 | /*
22 |
23 | DOCBLOCK
24 | --------
25 | CLASS: storage.type.class.jsdoc
26 |
27 | TRIGGERS: abstract, access, alias, augments, author, async, attribute, arg, argument, beta, borrows, bubbes, callback, class, classdesc, config, const, constant, constructs, constructor, copyright, chainable, default, defaultvalue, deprecated, desc, description, enum, emits, event, example, exports, external, extends, extension, extensionfor, extension_for, for, file, fileoverview, fires, final, function, global, host, ignore, implements, inheritdoc, inner, instance, interface, kind, lends, license, listens, main, member, memberof, method, mixex, mixin(?:s, ), module, name, namespace, override, overview, param, private, prop, property, protected, readonly, readOnly, requires, required, return, returns, see, since, static, summary, submodule, this, throws, todo, tutorial, type, typedef, var, variation, version, virtual, uses, writeOnce
28 |
29 | */
30 |
31 | class Bread {
32 |
33 | constructor(slices) {
34 | this.slices = 12;
35 |
36 | if ( slices > this.slices ) {
37 | console.log('not enough bread');
38 | } else {
39 | console.log(slices);
40 | }
41 |
42 | }
43 |
44 | }
45 |
46 | class Sandwich extends Bread {
47 |
48 | constructor(slices) {
49 | this.bread = super(slices);
50 | this.toppings = [];
51 | }
52 |
53 | toppings( ingredients ) {
54 | ingredients.forEach(function(value, index) {
55 | this.toppings.push( value );
56 | });
57 | }
58 |
59 | }
60 |
61 | var Club = new Sandwich(3).toppings(['roast beef', 'turkey']);
62 |
63 |
64 | /*
65 |
66 | INTERPOLATED JS
67 | --------
68 | CLASS: punctuation.definition.comment.js
69 | TRIGGERS: punctuation.section.embedded.js
70 | NOTE: This class doesn't currently seem to actually get applied
71 |
72 | */
73 |
74 | var myName = 'Slim Shady',
75 | template = 'Hello, my name is ${myName}';
76 |
77 | /*
78 |
79 | FUNCTION PARAMS
80 | --------
81 | TRIGGER: () CLASS: meta.brace.round.js
82 | TRIGGER: [] CLASS: meta.brace.square.js
83 | TRIGGER: {} CLASS: meta.brace.curly.js
84 | TRIGGER: , CLASS: meta.object.delimiter.js
85 | TRIGGER: = CLASS: keyword.operator.js
86 | TRIGGER: parameters CLASS: variable.parameter.function.js
87 |
88 | */
89 |
90 |
91 | function testFunction(string,arr,obj) {
92 | // DO SOMETHING
93 | }
94 |
95 | testFunction('one', 'two', [1,2,3], {key: 'value'} );
96 |
97 |
98 | /*
99 |
100 | METHODS
101 | --------
102 | CLASS: meta.method.js
103 |
104 | TRIGGER: break, case, catch, continue, do, else, export, finally, for, function, if, import, package, return, switch, throw, try, while, with
105 |
106 | */
107 |
108 | import { ham as turkey } from 'mySandwich.js';
109 |
110 | var isFunction;
111 |
112 | switch ( typeof testFunction ) {
113 |
114 | case 'function':
115 | isFunction = true;
116 | break;
117 | default:
118 | isFunction = false;
119 |
120 | }
121 |
122 | try {
123 | testFunction();
124 | } catch (e) {
125 | throw 'Whoopsadaisy!';
126 | } finally {
127 | console.log('i think we\'re done here!');
128 | }
129 |
--------------------------------------------------------------------------------
/sample-files/Julia.jl:
--------------------------------------------------------------------------------
1 | function mandel(z)
2 | c = z
3 | maxiter = 80
4 | for n = 1:maxiter
5 | if abs(z) > 2
6 | return n-1
7 | end
8 | z = z^2 + c
9 | end
10 | return maxiter
11 | end
12 |
13 | function randmatstat(t)
14 | n = 5
15 | v = zeros(t)
16 | w = zeros(t)
17 | for i = 1:t
18 | a = randn(n,n)
19 | b = randn(n,n)
20 | c = randn(n,n)
21 | d = randn(n,n)
22 | P = [a b c d]
23 | Q = [a b; c d]
24 | v[i] = trace((P.'*P)^4)
25 | w[i] = trace((Q.'*Q)^4)
26 | end
27 | std(v)/mean(v), std(w)/mean(w)
28 | end
29 |
--------------------------------------------------------------------------------
/sample-files/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Jesse Weed
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/sample-files/Less.less:
--------------------------------------------------------------------------------
1 | @base: #f938ab;
2 |
3 | .box-shadow(@style, @c) when (iscolor(@c)) {
4 | -webkit-box-shadow: @style @c;
5 | box-shadow: @style @c;
6 | }
7 | .box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {
8 | .box-shadow(@style, rgba(0, 0, 0, @alpha));
9 | }
10 | .box {
11 | color: saturate(@base, 5%);
12 | border-color: lighten(@base, 30%);
13 | div {
14 | .box-shadow(0 0 5px, 30%)
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/sample-files/Markdown.md:
--------------------------------------------------------------------------------
1 | A First Level Header
2 | ====================
3 |
4 | A Second Level Header
5 | ---------------------
6 |
7 | Now is the time for all good men to come to
8 | the aid of their country. This is just a
9 | regular paragraph.
10 |
11 | The quick brown fox jumped over the lazy
12 | dog's back.
13 |
14 | # Header 1
15 | ## Header 2
16 | ### Header 3
17 | #### Header 4
18 | ##### Header 5
19 | ###### Header 6
20 |
21 | This is `inline code`.
22 | You can *emphasize text* or make it **bold**.
23 | This is a [website link](http://www.website.com).
24 |
25 | - This is a list
26 | * This is another list
27 |
28 | > This is a blockquote.
29 | >
30 | > This is the second paragraph in the blockquote.
31 | >
32 | > ## This is an H2 in a blockquote
33 |
--------------------------------------------------------------------------------
/sample-files/Mustache.mustache:
--------------------------------------------------------------------------------
1 | {{> header}}
2 |
3 |
4 | Hello!
5 | Welcome to {{site.name}}
6 |
7 |
8 | {{> footer}}
9 |
--------------------------------------------------------------------------------
/sample-files/PHP.php:
--------------------------------------------------------------------------------
1 | timezone = $_SERVER['TZ'];
8 |
9 | $this->ua = $_SERVER['HTTP_USER_AGENT'];
10 |
11 | $this->root = $_SERVER['DOCUMENT_ROOT'];
12 | $this->filename = $_SERVER['SCRIPT_FILENAME'];
13 | $this->uri = $_SERVER['REQUEST_URI'];
14 |
15 | if (isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] == '/') :
16 | $this->path = '/index';
17 | elseif ( isset($_SERVER['PATH_INFO']) ) :
18 | $this->path = $_SERVER['PATH_INFO'];
19 | else :
20 | $this->path = '/index';
21 | endif;
22 |
23 | $this->self = $_SERVER['PHP_SELF'];
24 |
25 |
26 | }
27 |
28 | function current() {
29 | return $this->path;
30 | }
31 |
32 | }
33 |
34 |
35 | // END OF FILE
36 |
--------------------------------------------------------------------------------
/sample-files/Procfile:
--------------------------------------------------------------------------------
1 | web: node index.js
2 |
--------------------------------------------------------------------------------
/sample-files/Pug.pug:
--------------------------------------------------------------------------------
1 | doctype html
2 | html(lang="en")
3 | head
4 | title= pageTitle
5 | script(type='text/javascript').
6 | var foo = false;
7 | if (foo) {
8 | var bar = 6;
9 | return bar;
10 | }
11 | body
12 | h1 Jade - node template engine
13 | #container.col
14 | if youAreUsingJade
15 | p You are amazing
16 | else
17 | p Get on it!
18 | p.
19 | Jade is a terse and simple
20 | templating language with a
21 | strong focus on performance
22 | and powerful features.
23 |
24 | include ../file.name
25 |
26 | //- i am a comment
27 | block dynamic-content
28 |
29 | ul
30 | each item in group
31 | li #{item} name
32 |
--------------------------------------------------------------------------------
/sample-files/Python.py:
--------------------------------------------------------------------------------
1 | import package
2 |
3 |
4 | aClass = package.DefinedClass(3, 4, param1="a string")
5 |
6 |
7 | @package.decorate
8 | def SubFib(startNumber, endNumber):
9 | for cur in range(endNumber):
10 | if cur > endNumber:
11 | return
12 | if cur >= startNumber:
13 | yield cur
14 |
15 | for ii in SubFib(10, 200):
16 | if aClass.class_method():
17 | print ii
18 |
19 |
20 | class ThisClass(object):
21 | def __init__(self, *args, **kwargs):
22 | '''
23 | Block comments
24 | '''
25 | self.this = "that"
26 |
27 | def is_this_that(self):
28 | return True if self.this == "that" else False
29 |
--------------------------------------------------------------------------------
/sample-files/React.jsx:
--------------------------------------------------------------------------------
1 | var TodoList = React.createClass({
2 | render: function() {
3 | var createItem = function(itemText) {
4 | return {itemText};
5 | };
6 | return {this.props.items.map(createItem)}
;
7 | }
8 | });
9 | var TodoApp = React.createClass({
10 | getInitialState: function() {
11 | return {items: [], text: ''};
12 | },
13 | onChange: function(e) {
14 | this.setState({text: e.target.value});
15 | },
16 | handleSubmit: function(e) {
17 | e.preventDefault();
18 | var nextItems = this.state.items.concat([this.state.text]);
19 | var nextText = '';
20 | this.setState({items: nextItems, text: nextText});
21 | },
22 | render: function() {
23 | return (
24 |
25 |
TODO
26 |
27 |
31 |
32 | );
33 | }
34 | });
35 |
36 | React.render(, mountNode);
37 |
--------------------------------------------------------------------------------
/sample-files/Ruby.rb:
--------------------------------------------------------------------------------
1 | # p027readwrite.rb
2 | # Open and read from a text file
3 | # Note that since a block is given, file will
4 | # automatically be closed when the block terminates
5 | File.open('p014constructs.rb', 'r') do |f1|
6 | while line = f1.gets
7 | puts line
8 | end
9 | end
10 |
11 | # Create a new file and write to it
12 | File.open('test.rb', 'w') do |f2|
13 | # use "\n" for two lines of text
14 | f2.puts "Created by Satish\nThank God!"
15 | end
16 |
--------------------------------------------------------------------------------
/sample-files/Sass.scss:
--------------------------------------------------------------------------------
1 | $font-stack: Helvetica, sans-serif;
2 | $primary-color: #333;
3 |
4 | body {
5 | font: 100% $font-stack;
6 | color: $primary-color;
7 | }
8 |
9 | nav {
10 | ul {
11 | margin: 0;
12 | padding: 0;
13 | list-style: none;
14 | }
15 |
16 | li { display: inline-block; }
17 |
18 | a {
19 | display: block;
20 | padding: 6px 12px;
21 | text-decoration: none;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/sample-files/Stache.stache:
--------------------------------------------------------------------------------
1 | {{> header}}
2 |
3 |
4 | Hello!
5 | Welcome to {{site.name}}
6 |
7 |
8 | {{> footer}}
9 |
--------------------------------------------------------------------------------
/sample-files/Stylus.styl:
--------------------------------------------------------------------------------
1 | @import 'vendor'
2 |
3 | fonts = helvetica, arial, sans-serif
4 |
5 | border-radius()
6 | -webkit-border-radius arguments
7 | -moz-border-radius arguments
8 | border-radius arguments
9 |
10 | body
11 | font 12px Helvetica, Arial, fonts
12 |
13 | a.button
14 | border-radius 5px
15 |
--------------------------------------------------------------------------------
/sample-files/Text.txt:
--------------------------------------------------------------------------------
1 | How happy is the blameless vestal's lot!
2 | The world forgetting, by the world forgot.
3 | Eternal sunshine of the spotless mind!
4 | Each pray'r accepted, and each wish resign'd;
5 | Labour and rest, that equal periods keep;
6 | "Obedient slumbers that can wake and weep;"
7 | Desires compos'd, affections ever ev'n,
8 | Tears that delight, and sighs that waft to Heav'n.
9 | Grace shines around her with serenest beams,
10 | And whisp'ring angels prompt her golden dreams.
11 | For her th' unfading rose of Eden blooms,
12 | And wings of seraphs shed divine perfumes,
13 | For her the Spouse prepares the bridal ring,
14 | For her white virgins hymeneals sing,
15 | To sounds of heav'nly harps she dies away,
16 | And melts in visions of eternal day.
17 |
--------------------------------------------------------------------------------
/sample-files/Typescript.ts:
--------------------------------------------------------------------------------
1 | module Sayings {
2 | export class Greeter {
3 | greeting: string;
4 | constructor(message: string) {
5 | this.greeting = message;
6 | }
7 | greet() {
8 | return "Hello, " + this.greeting;
9 | }
10 | }
11 | }
12 | var greeter = new Sayings.Greeter("world");
13 |
14 | var button = document.createElement('button');
15 | button.textContent = "Say Hello";
16 | button.onclick = function() {
17 | alert(greeter.greet());
18 | };
19 |
20 | document.body.appendChild(button);
21 |
--------------------------------------------------------------------------------
/sample-files/XML.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Gambardella, Matthew
5 | XML Developer's Guide
6 | Computer
7 | 44.95
8 | 2000-10-01
9 | An in-depth look at creating applications
10 | with XML.
11 |
12 |
13 | Ralls, Kim
14 | Midnight Rain
15 | Fantasy
16 | 5.95
17 | 2000-12-16
18 | A former architect battles corporate zombies,
19 | an evil sorceress, and her own childhood to become queen
20 | of the world.
21 |
22 |
23 | Corets, Eva
24 | Maeve Ascendant
25 | Fantasy
26 | 5.95
27 | 2000-11-17
28 | After the collapse of a nanotechnology
29 | society in England, the young survivors lay the
30 | foundation for a new society.
31 |
32 |
33 | Corets, Eva
34 | Oberon's Legacy
35 | Fantasy
36 | 5.95
37 | 2001-03-10
38 | In post-apocalypse England, the mysterious
39 | agent known only as Oberon helps to create a new life
40 | for the inhabitants of London. Sequel to Maeve
41 | Ascendant.
42 |
43 |
44 | Corets, Eva
45 | The Sundered Grail
46 | Fantasy
47 | 5.95
48 | 2001-09-10
49 | The two daughters of Maeve, half-sisters,
50 | battle one another for control of England. Sequel to
51 | Oberon's Legacy.
52 |
53 |
54 | Randall, Cynthia
55 | Lover Birds
56 | Romance
57 | 4.95
58 | 2000-09-02
59 | When Carla meets Paul at an ornithology
60 | conference, tempers fly as feathers get ruffled.
61 |
62 |
63 | Thurman, Paula
64 | Splish Splash
65 | Romance
66 | 4.95
67 | 2000-11-02
68 | A deep sea diver finds true love twenty
69 | thousand leagues beneath the sea.
70 |
71 |
72 | Knorr, Stefan
73 | Creepy Crawlies
74 | Horror
75 | 4.95
76 | 2000-12-06
77 | An anthology of horror stories about roaches,
78 | centipedes, scorpions and other insects.
79 |
80 |
81 | Kress, Peter
82 | Paradox Lost
83 | Science Fiction
84 | 6.95
85 | 2000-11-02
86 | After an inadvertant trip through a Heisenberg
87 | Uncertainty Device, James Salway discovers the problems
88 | of being quantum.
89 |
90 |
91 | O'Brien, Tim
92 | Microsoft .NET: The Programming Bible
93 | Computer
94 | 36.95
95 | 2000-12-09
96 | Microsoft's .NET initiative is explored in
97 | detail in this deep programmer's reference.
98 |
99 |
100 | O'Brien, Tim
101 | MSXML3: A Comprehensive Guide
102 | Computer
103 | 36.95
104 | 2000-12-01
105 | The Microsoft MSXML3 parser is covered in
106 | detail, with attention to XML DOM interfaces, XSLT processing,
107 | SAX and more.
108 |
109 |
110 | Galos, Mike
111 | Visual Studio 7: A Comprehensive Guide
112 | Computer
113 | 49.95
114 | 2001-04-16
115 | Microsoft Visual Studio 7 is explored in depth,
116 | looking at how Visual Basic, Visual C++, C#, and ASP+ are
117 | integrated into a comprehensive development
118 | environment.
119 |
120 |
121 |
--------------------------------------------------------------------------------
/sample-files/YML.yml:
--------------------------------------------------------------------------------
1 | #
2 | # Let's Chat Built-in Defaults
3 | #
4 |
5 | env: development # development / production
6 |
7 | http:
8 | enable: true
9 | port: 5000
10 |
11 | https:
12 | enable: false
13 | port: 5001
14 | key: key.pem
15 | cert: certificate.pem
16 |
17 | xmpp:
18 | enable: false
19 | debug:
20 | handled: false
21 | unhandled: false
22 | port: 5222
23 | host: localhost
24 | tls:
25 | enable: false
26 | key: ./server.key
27 | cert: ./server.crt
28 |
29 | database:
30 | uri: mongodb://localhost/letschat
31 |
32 | secrets:
33 | cookie: stop.hammer time!
34 |
35 | files:
36 | enable: false
37 | provider: local
38 | maxFileSize: 100000000
39 | restrictTypes: true
40 | allowedTypes:
41 | - 'image/jpeg'
42 | - 'image/png'
43 | - 'image/gif'
44 |
45 | local:
46 | dir: uploads
47 |
48 | s3:
49 | accessKeyId:
50 | secretAccessKey:
51 | bucket:
52 | region:
53 |
54 | auth:
55 | throttling:
56 | enable: true
57 | threshold: 3
58 |
59 | providers: [local] # [local, kerberos, ldap] - You can specify the order
60 |
61 | local:
62 | enableRegistration: true
63 | passwordRegex: ^.{8,64}$
64 | salt: stop.hammer time! # Required when upgrading from version < 0.3
65 |
--------------------------------------------------------------------------------
/sample-files/ink.ink:
--------------------------------------------------------------------------------
1 | === Cube ===
2 |
3 | = lookat
4 | It's a cube.
5 | No, really, it's a cube.
6 | -> DONE
7 |
8 | = interact
9 | Cube: I'm a cube.
10 | It's a cuby cube.
11 | * [Here's a choice.]
12 | You chose a choice.
13 | * [Here's a different choice.]
14 | You chose a different choice.
15 | -> DONE
16 |
--------------------------------------------------------------------------------
/screenshot-colors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/screenshot-colors.png
--------------------------------------------------------------------------------
/screenshot-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/screenshot-settings.png
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jesseweed/seti-syntax/4b4fe13af9c77a71153341b00b629cf47b9c6906/screenshot.png
--------------------------------------------------------------------------------
/styles/colors.less:
--------------------------------------------------------------------------------
1 | @import "colors/primary";
2 | @import "themes/default";
3 | @import "user-theme";
4 |
5 | // GUTTER
6 | @gutter-text: @grey;
7 | @gutter-text-highlight: @color1;
8 | @gutter-background: @black-dark;
9 | @gutter-background-highlight: @black;
10 |
11 | // CODE VIEW
12 | @code-background: @black; // editor background
13 | @code-font-color: darken(@white, 10); // default editor text
14 |
15 | // STATUS
16 | @error: @red;
17 | @info: @color1;
18 | @success: @green;
19 |
20 | // GIT STATUS
21 | @removed: @red;
22 | @modified: @yellow;
23 | @added: @green;
24 |
25 | // TEXT
26 | @quotes: lighten(@color1, 20);
27 | @markup: @code-font-color;
28 | @markup-heading: @orange;
29 | @markup-h1: @markup-heading;
30 | @markup-h2: lighten(@markup-heading, 5);
31 | @markup-h3: lighten(@markup-heading, 10);
32 | @markup-h4: lighten(@markup-heading, 15);
33 | @markup-h5: lighten(@markup-heading, 20);
34 | @markup-h6: lighten(@markup-heading, 25);
35 | @unknown: @code-font-color;
36 |
37 | // MISC COLORS
38 | @invisible: rgba(255,255,255,0.1);
39 | @guides: rgba(245,250,255,0.04);
40 | @cursor-color: @code-font-color;
41 | @cursor-width: 2px;
42 | @selected: @color1-highlight; // selected background color
43 | @selected-border: darken(@color1-highlight, 10);
44 | @selected-line: rgba(0,0,0,0.2);
45 | @selected-text: @color1-text;
46 |
47 |
48 | // SEARCH
49 | @search-bg: transparent;
50 | @search-border: solid 1px @color1;
51 | @search-active-bg: @color1;
52 | @search-active-border: solid 1px @color1;
53 | @search-item-border: @color1;
54 | @search-item-bg: @color3;
55 |
56 |
57 | // SYNTAX COLORS
58 | @brackets: darken(@code-font-color, 30%);
59 | @comment: @grey; // comments, duhr.
60 | @comment-bg: none;
61 | @comment-punc: @comment;
62 | @constant: @color3; // true of var x = true, {{}} of {{> hbs_include}}
63 | @entity: @color5; // exports of module.exports, , . of .className
64 | @entity-function: @color5;
65 | @error-punc: darken(@error, 20%);
66 | @function: @entity-function;
67 | @function-param: @color1; // (one, two, three) of function (one, two, three)
68 | @meta: @code-font-color; // none of border: none;
69 | @numeric: @color3;
70 | @punctuation: darken(@code-font-color, 30%);
71 | @regex: @color1;
72 | @string: @color1; // 'value' of var='value', "name.png" or src="name.png"
73 | @storage: @white; // var of var a = b;
74 | @support: @color3; // module of module.exports, color of color: rgb(0,0,0)
75 | @variable: @color1; // foo of function(foo), hbs_include of {{> hbs_include}}, http://dom.com/ of url(http://dom.com/)
76 | @storage-function: @color8;
77 |
78 | // obj.param.function() - @obj-name . @obj-method . @function
79 | @obj-name: @support;
80 | @obj-method: @entity;
81 | @obj-function: @function;
82 |
83 | // CONSTANT
84 | @constant-name-attribute-tag: @tag;
85 |
86 | // ENTITY
87 | @entity-name-tag: @color1;
88 | @entity-name-type: @color1;
89 | @entity-name-function: @function;
90 | @entity-other-attribute-name: @color2;
91 | @entity-other-id: @id;
92 |
93 | // META
94 | @meta-control-flow: @color2;
95 |
96 | // STRING
97 | @string-quoted-double: @quotes;
98 | @string-quoted-single: @quotes;
99 | @string-unquoted: @quotes;
100 | @string-other: @string;
101 |
102 | @punctuation-definition-array: @string;
103 | @punctuation-definition-string: @string;
104 | @punctuation-definition-variable: @variable;
105 |
106 | // STORAGE
107 | @storage-var: @storage;
108 | @storage-class: @storage;
109 | @storage-function: @storage;
110 |
111 | // KEYWORD
112 | @keyword: @color4;
113 | @keyword-control: @color2;
114 | @keyword-other-important: @red;
115 | @keyword-operator: @keyword;
116 | @keyword-operator-assignment: @punctuation;
117 | @keyword-operator-new: @color8;
118 | @variable-import: @color2;
119 |
120 | // SUPPORT
121 | @support-type-property-name: @code-font-color;
122 | @support-function-decl: @color1;
123 |
124 | // VARIABLE
125 | @variable: @color8;
126 | @variable-other: @color4;
127 | @variable-other-module: @color3;
128 | @variable-other-module-alias: @color1;
129 | @variable-other-object: @color2;
130 | @variable-other-property: @color4;
131 |
132 | // PUNCTUATION
133 | @punctuation: @grey;
134 | @punctuation-separator: @grey;
135 |
136 |
137 | // HTML
138 | @tag: @color1;
139 | @tag-entity: @color1;
140 | @element-attr: @color2;
141 | @class: @color2;
142 | @id: @color2;
143 | @block: @color1;
144 | @inline: lighten(@color1, 25%);
145 |
--------------------------------------------------------------------------------
/styles/colors/primary.less:
--------------------------------------------------------------------------------
1 | // BASE COLORS
2 | @black: #0e1112;
3 | @black-dark: #090b0d;
4 | @white: #d4d7d6;
5 | @grey: #4d5a5e;
6 | @grey-dark: #1f2326;
7 | @grey-light: #6d8086;
8 |
9 | // STATUS
10 | @good: @green;
11 | @bad: @red;
12 | @warn: @yellow;
13 | @hidden: @grey-dark;
14 | @ignore: @grey;
15 |
16 | // PRIMARIES
17 | @blue: #519aba;
18 | @blue-highlight: #1d5b91;
19 | @blue-text: #ffffff;
20 |
21 | @green: #8dc149;
22 | @green-highlight: #436b24;
23 | @green-text: #ffffff;
24 | @blue-secondary: @purple;
25 |
26 | @orange: #e37933;
27 | @orange-highlight: #b55421;
28 | @orange-text: #ffffff;
29 |
30 | @pink: #f55385;
31 | @pink-highlight: #63213f;
32 | @pink-text: #ffffff;
33 |
34 | @purple: #a074c4;
35 | @purple-highlight: #4f397c;
36 | @purple-text: #ffffff;
37 |
38 | @red: #cc3e44;
39 | @red-highlight: #7c1c20;
40 | @red-text: #ffffff;
41 |
42 | @steel: #7494a3;
43 | @steel-highlight: #293c44;
44 | @steel-text: #ffffff;
45 |
46 | @yellow: #cbcb41;
47 | @yellow-highlight: #a2852f;
48 | @yellow-text: #13181b;
49 |
--------------------------------------------------------------------------------
/styles/editor.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | // MAIN CODE EDITOR STYLES
4 | .atom-text-editor, atom-text-editor {
5 |
6 | // EDITOR BACKGROUND & FONT COLORS
7 | background-color: @code-background;
8 | color: @code-font-color;
9 |
10 | // border-top: solid 6px @selected-line;
11 |
12 | // LINE THAT DESIGNATES WHERE TEXT WILL WRAP
13 | .wrap-guide {
14 | background: @guides;
15 | }
16 |
17 | // LINE BETWEEN BRACKET INDENTATIONS
18 | .indent-guide {
19 | color: @guides;
20 | }
21 |
22 | .invisible-character {
23 | color: @invisible;
24 | }
25 |
26 | // GUTTER / LINE NUMBERS
27 | .gutter {
28 |
29 | background-color: @gutter-background;
30 | color: @gutter-text;
31 | // border-right: 10px solid @code-background;
32 |
33 | .line-number {
34 |
35 | // GUTTER BACKGROUND
36 | background: @gutter-background;
37 | color: @gutter-text;
38 | padding-left: 10px;
39 |
40 | // SELECTED BLOCK
41 | &.cursor-line {
42 | background-color: @gutter-background-highlight;
43 | color: @gutter-text-highlight;
44 | font-weight: 100;
45 | }
46 |
47 | // CURRENT ACTIVE LINE
48 | &.cursor-line-no-selection {
49 | background-color: @gutter-background-highlight !important;
50 | color: @gutter-text-highlight;
51 | // font-weight: bold;
52 | }
53 |
54 | }
55 |
56 | // HOVER STATE FOR LINE NUMBERS
57 | .line-number:hover {
58 | background-color: @gutter-background !important;
59 | color: @gutter-text-highlight;
60 | }
61 | }
62 |
63 | // LINE NUMBER FOR SECTIONS THAT HAVE BEEN COLLAPSED
64 | .gutter .line-number.folded,
65 | .gutter .line-number:after,
66 | .fold-marker:after {
67 | color: #FFF;
68 | background: @gutter-text;
69 | }
70 |
71 | // INVISIBLE CHARACTES
72 | .invisible {
73 | color: @invisible;
74 | }
75 |
76 | // CURSOR COLOR
77 | .cursor {
78 | border-color: @cursor-color !important;
79 | border-left: solid @cursor-width;
80 | }
81 |
82 | // BACKGROUND OF SELECTED TEXT
83 | .selection .region {
84 | background-color: @selected;
85 | }
86 |
87 |
88 | // ADD LEFT PADDING TO CODE VIEW
89 | .scroll-view {
90 | padding-left: 10px;
91 | }
92 |
93 |
94 | // SELECTED LINE STYLE
95 | .line.cursor-line {
96 | background: @selected-line !important;
97 | }
98 |
99 |
100 | }
101 |
--------------------------------------------------------------------------------
/styles/languages/css.less:
--------------------------------------------------------------------------------
1 | .syntax--source.syntax--css {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/styles/languages/gfm.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--source.syntax--gfm {
4 | color: @code-font-color;
5 |
6 | .syntax--heading-1 {
7 | color: @markup-h1;
8 | }
9 | .syntax--heading-2 {
10 | color: @markup-h2;
11 | }
12 | .syntax--heading-3 {
13 | color: @markup-h3;
14 | }
15 | .syntax--heading-4 {
16 | color: @markup-h4;
17 | }
18 | .syntax--heading-5 {
19 | color: @markup-h5;
20 | }
21 | .syntax--heading-6 {
22 | color: @markup-h6;
23 | }
24 |
25 | .syntax--entity {
26 | color: @entity-function;
27 | }
28 | .syntax--link {
29 | color: @green;
30 | .syntax--entity {
31 | color: @purple;
32 | }
33 | }
34 |
35 | .syntax--italic {
36 | color: @yellow;
37 | }
38 |
39 | .syntax--bold {
40 | color: @yellow;
41 | font-weight: bold;
42 | }
43 |
44 | .syntax--variable.syntax--syntax.syntax--list {
45 | color: @yellow-highlight;
46 | }
47 |
48 | .syntax--hr {
49 | color: @meta-control-flow;
50 | }
51 |
52 | .syntax--comment.syntax--quote {
53 | color: @string-quoted-single;
54 | }
55 |
56 | .syntax--support.syntax--quote {
57 | color: @code-background;
58 | background-color: @code-font-color;
59 | }
60 |
61 | .syntax--raw {
62 | color: @red;
63 | border: 1px solid mix(@code-background, @string-quoted-double, 90%);
64 | background-color: mix(@code-background, @string-quoted-double, 90%);
65 | border-radius: 3px;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/styles/languages/go.less:
--------------------------------------------------------------------------------
1 | .syntax--go {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/styles/languages/html.less:
--------------------------------------------------------------------------------
1 | .syntax--html {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/styles/languages/ink.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--source.syntax--ink {
4 | color: @code-font-color;
5 | }
6 |
--------------------------------------------------------------------------------
/styles/languages/jade.less:
--------------------------------------------------------------------------------
1 | .syntax--jade, .syntax--pug {
2 |
3 | color: @code-font-color;
4 |
5 | .syntax--comment {
6 | color: @comment;
7 | }
8 |
9 | .syntax--name {
10 | color: @tag;
11 | }
12 |
13 | .syntax--entity {
14 | color: @tag-entity;
15 | }
16 |
17 | .syntax--string {
18 | color: @string;
19 | }
20 |
21 | .syntax--quoted {
22 | color: @quotes;
23 | }
24 |
25 | .syntax--attribute-name, .syntax--id {
26 | color: @red !important;
27 | }
28 | .syntax--class {
29 | color: @class;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/styles/languages/javascript.less:
--------------------------------------------------------------------------------
1 | .syntax--source.syntax--js,
2 | .syntax--source.syntax--ts,
3 | .syntax--source.syntax--jsx {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/styles/languages/json.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--source.syntax--json {
4 | .syntax--meta.syntax--structure.syntax--dictionary.syntax--json {
5 | & > .syntax--string.syntax--quoted.syntax--json {
6 | & > .syntax--punctuation.syntax--string {
7 | color: @tag;
8 | }
9 | color: @tag;
10 | }
11 | }
12 |
13 | .syntax--meta.syntax--structure.syntax--dictionary.syntax--json,
14 | .syntax--meta.syntax--structure.syntax--array.syntax--json {
15 | & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
16 | & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation {
17 | color: @code-font-color;
18 | }
19 |
20 | & > .syntax--constant.syntax--language.syntax--json {
21 | color: @constant;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/styles/languages/markdown.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--source.syntax--md {
4 | color: @code-font-color;
5 |
6 | .syntax--heading-1 {
7 | color: @markup-h1;
8 | }
9 | .syntax--heading-2 {
10 | color: @markup-h2;
11 | }
12 | .syntax--heading-3 {
13 | color: @markup-h3;
14 | }
15 | .syntax--heading-4 {
16 | color: @markup-h4;
17 | }
18 | .syntax--heading-5 {
19 | color: @markup-h5;
20 | }
21 | .syntax--heading-6 {
22 | color: @markup-h6;
23 | }
24 |
25 | .syntax--entity {
26 | color: @entity-function;
27 | }
28 | .syntax--link {
29 | color: @green;
30 | .syntax--entity {
31 | color: @purple;
32 | }
33 | }
34 |
35 | .syntax--italic {
36 | color: @yellow;
37 | }
38 |
39 | .syntax--bold {
40 | color: @yellow;
41 | font-weight: bold;
42 | }
43 |
44 | .syntax--variable.syntax--syntax.syntax--list {
45 | color: @yellow-highlight;
46 | }
47 |
48 | .syntax--hr {
49 | color: @meta-control-flow;
50 | }
51 |
52 | .syntax--comment.syntax--quote {
53 | color: @string-quoted-single;
54 | }
55 |
56 | .syntax--support.syntax--quote {
57 | color: @code-background;
58 | background-color: @code-font-color;
59 | }
60 |
61 | .syntax--raw {
62 | color: @red;
63 | border: 1px solid mix(@code-background, @string-quoted-double, 90%);
64 | background-color: mix(@code-background, @string-quoted-double, 90%);
65 | border-radius: 3px;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/styles/languages/mustache.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--mustache {
4 |
5 | .syntax--meta.syntax--tag.syntax--template {
6 | color: @tag;
7 |
8 | .syntax--entity.syntax--name.syntax--tag {
9 | color: lighten(@tag, 20%);
10 | }
11 |
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/styles/languages/perl.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--source.syntax--perl {
4 |
5 | .syntax--pod {
6 | &.syntax--displayed-text {
7 | color: @constant;
8 | }
9 |
10 | &.syntax--constant.syntax--character.syntax--entity {
11 | &, & .syntax--entity.syntax--name {
12 | color: @constant;
13 | }
14 | }
15 |
16 | &.syntax--inline.syntax--tag {
17 | .syntax--punctuation.syntax--begin,
18 | .syntax--punctuation.syntax--end {
19 | color: @punctuation;
20 | }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/styles/languages/python.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | .syntax--source.syntax--python {
4 |
5 | .syntax--class{
6 | color: @support;
7 | }
8 |
9 | .syntax--support.syntax--function.syntax--magic,
10 | .syntax--inherited-class{
11 | color: lighten(@variable, 10%);
12 | .syntax--support.syntax--function.syntax--builtin.syntax--python {
13 | // Necessary to highlight the object base class correctly
14 | color: lighten(@variable, 10%);
15 | }
16 | }
17 |
18 | .syntax--storage,
19 | .syntax--keyword {
20 | color: @storage;
21 | }
22 |
23 | .syntax--string{
24 | color: @string;
25 | &.syntax--block{
26 | color: darken(@string, 20%);
27 | .syntax--keyword {
28 | color: darken(@string, 20%);
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/styles/plugins.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | // PLUGIN SPECIFIC STYLES
4 | .bracket-matcher .region {
5 | border-bottom: 1px solid @string;
6 | margin-top: 2px;
7 | }
8 |
--------------------------------------------------------------------------------
/styles/plugins/git-time-machine.less:
--------------------------------------------------------------------------------
1 | atom-text-editor,
2 | atom-text-editor.editor {
3 | .line.split-diff-added {
4 | background: @added !important;
5 | color: rgba(0,0,0,0.5) !important;
6 | .syntax--text span, .syntax--source span {
7 | color: rgba(0,0,0,0.5) !important;
8 | }
9 | .indent-guide {
10 | opacity: 0;
11 | }
12 | }
13 | .line.split-diff-removed {
14 | background: @removed !important;
15 | color: rgba(255,255,255,0.8) !important;
16 | .syntax--text span, .syntax--source span {
17 | color: rgba(255,255,255,0.8) !important;
18 | }
19 | .indent-guide {
20 | opacity: 0;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/styles/syntax-variables.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 | // General colors
4 | @syntax-text-color: @code-font-color;
5 | @syntax-cursor-color: @cursor-color;
6 | @syntax-selection-color: @selected;
7 | @syntax-selection-flash-color: @search-active-bg;
8 | @syntax-background-color: @code-background;
9 |
10 | // Guide colors
11 | @syntax-wrap-guide-color: @guides;
12 | @syntax-indent-guide-color: @guides;
13 | @syntax-invisible-character-color: @invisible;
14 |
15 | // For find and replace markers
16 | @syntax-result-marker-color: @color1;
17 | @syntax-result-marker-color-selected: rgba(0,0,0,0);
18 |
19 | // Gutter colors
20 | @syntax-gutter-text-color: @gutter-text;
21 | @syntax-gutter-text-color-selected: @gutter-text-highlight;
22 | @syntax-gutter-background-color: @gutter-background;
23 | @syntax-gutter-background-color-selected: @gutter-background-highlight;
24 |
25 | // For git diff info. i.e. in the gutter
26 | @syntax-color-renamed: @color1;
27 | @syntax-color-added: @green;
28 | @syntax-color-modified: @yellow;
29 | @syntax-color-removed: @red;
30 |
--------------------------------------------------------------------------------
/styles/syntax.less:
--------------------------------------------------------------------------------
1 | @import "colors";
2 |
3 |
4 | atom-text-editor[mini], atom-text-editor.mini {
5 | .scroll-view {
6 | padding-left: 1px;
7 | }
8 | }
9 |
10 | // MISC
11 | .syntax--source {
12 | color: @color1;
13 | }
14 |
15 | .syntax--text {
16 | color: @code-font-color;
17 | }
18 |
19 | &.syntax--complete_tag {
20 | color: @variable;
21 | }
22 |
23 |
24 | // COMENTS
25 | .syntax--comment {
26 | color: @comment;
27 | background: @comment-bg;
28 | }
29 |
30 |
31 | // CONSTANTS
32 | .syntax--constant {
33 |
34 | // true, false, null, undefined
35 | color: @constant;
36 |
37 | // \ of ("what\'s")
38 | &.syntax--character.syntax--escape {
39 | color: @constant;
40 | }
41 |
42 | &.syntax--name.syntax--attribute.syntax--tag {
43 | color: @constant-name-attribute-tag;
44 | }
45 |
46 | // all the numbers!
47 | &.syntax--numeric {
48 | color: @numeric;
49 | }
50 |
51 | // can't tell what this does :/
52 | &.syntax--other.syntax--color {
53 | color: @constant;
54 | }
55 |
56 | // can't tell what this does :/
57 | &.syntax--other.syntax--symbol {
58 | color: @constant;
59 | }
60 | }
61 |
62 |
63 | // ENTITY | exports of module.exports,
, . of .className
64 | .syntax--entity {
65 |
66 | color: @entity;
67 |
68 |
69 | &.syntax--name {
70 |
71 | &.syntax--class, &.syntax--type.syntax--class {
72 | color: @support;
73 | }
74 | &.syntax--function {
75 | color: @entity-name-function;
76 | }
77 | &.syntax--section {
78 | color: @entity;
79 | }
80 | &.syntax--tag {
81 | color: @entity-name-tag;
82 | text-decoration: none;
83 | &.syntax--block, &.syntax--inline, &.syntax--name {
84 | color: @entity-name-tag;
85 | }
86 | &.syntax--structure {
87 | color: @tag;
88 | }
89 | &.syntax--block {
90 | color: @tag;
91 | }
92 | }
93 | &.syntax--type {
94 | color: @entity-name-type;
95 | text-decoration: none;
96 | &.syntax--tag {
97 | color: @class;
98 | }
99 | }
100 | }
101 |
102 |
103 | &.syntax--other {
104 | &.syntax--attribute-name, {
105 | color: @entity-other-attribute-name;
106 | &.syntax--id {
107 | color: @entity-other-id;
108 | }
109 | }
110 | &.syntax--inherited-class {
111 | color: @entity;
112 | }
113 | }
114 | }
115 |
116 |
117 | // INVALID TEXT
118 | .syntax--invalid.syntax--illegal, .syntax--invalid.syntax--deprecated {
119 | background: none;
120 | color: @error;
121 |
122 | &.syntax--whitespace {
123 | background-color: @error;
124 | }
125 |
126 | .syntax--punctuation {
127 | color: @error-punc;
128 | }
129 | }
130 |
131 |
132 | // KEYWORDS
133 | .syntax--keyword {
134 |
135 | color: @keyword;
136 |
137 | &.syntax--control {
138 | color: @keyword-control;
139 | }
140 |
141 | &.syntax--operator {
142 | color: @keyword-operator;
143 | &.syntax--assignment {
144 | color: @keyword-operator-assignment;
145 | }
146 | &.syntax--new {
147 | color: @keyword-operator-new;
148 | }
149 | }
150 |
151 | &.syntax--other {
152 | &.syntax--important {
153 | color: @keyword-other-important;
154 | }
155 | &.syntax--special-method {
156 | color: @keyword;
157 | }
158 | &.syntax--unit {
159 | color: @keyword;
160 | }
161 | }
162 |
163 | }
164 |
165 |
166 | // MARKUP
167 | .syntax--markup {
168 | &.syntax--bold {
169 | color: @markup;
170 | font-weight: bold;
171 | }
172 |
173 | &.syntax--changed {
174 | color: @markup;
175 | }
176 |
177 | &.syntax--deleted {
178 | color: @markup;
179 | }
180 |
181 | &.syntax--heading .syntax--punctuation.syntax--definition.syntax--heading {
182 | color: @markup;
183 | }
184 |
185 | &.syntax--inserted {
186 | color: @markup;
187 | }
188 |
189 | &.syntax--italic {
190 | color: @markup;
191 | font-style: italic;
192 | }
193 |
194 | &.syntax--list {
195 | color: @markup;
196 | }
197 |
198 | &.syntax--quote {
199 | color: @quotes;
200 | }
201 |
202 | &.syntax--raw.syntax--inline {
203 | color: @markup;
204 | }
205 | }
206 |
207 |
208 | // META
209 | .syntax--meta {
210 |
211 | &.syntax--link {
212 | color: @meta;
213 | }
214 |
215 | &.syntax--require {
216 | color: @meta;
217 | }
218 |
219 |
220 | &.syntax--brace {
221 | &.syntax--curly { color: @brackets; }
222 | &.syntax--round { color: @code-font-color;}
223 | }
224 |
225 | &.syntax--control {
226 | &.syntax--flow {
227 | color: @meta-control-flow;
228 | }
229 | }
230 |
231 | &.syntax--comma {
232 | color: @punctuation;
233 | }
234 |
235 | &.syntax--selector {
236 | color: @punctuation;
237 | }
238 |
239 | &.syntax--separator {
240 | color: @punctuation;
241 | }
242 |
243 | &.syntax--tag {
244 | color: @tag;
245 | }
246 | }
247 |
248 | // NONE
249 | .syntax--none {
250 | color: @code-font-color;
251 | }
252 |
253 |
254 | // PUNCTUATION
255 | .syntax--punctuation {
256 | color: @punctuation;
257 |
258 | &.syntax--terminator {
259 | color: @punctuation;
260 | }
261 |
262 | &.syntax--separator {
263 | color: @punctuation-separator;
264 | }
265 |
266 | &.syntax--definition {
267 |
268 | color: @punctuation;
269 |
270 | &.syntax--array {
271 | color: @punctuation-definition-array;
272 | }
273 |
274 | &.syntax--bold {
275 | color: @code-font-color;
276 | font-weight: bold;
277 | }
278 |
279 | &.syntax--comment {
280 | color: @comment-punc;
281 | }
282 |
283 | &.syntax--heading,
284 | &.syntax--identity,
285 | &.syntax--italic {
286 | color: @code-font-color;
287 | }
288 |
289 | &.syntax--italic {
290 | font-style: italic;
291 | }
292 |
293 | &.syntax--string {
294 | color: @punctuation-definition-string;
295 | &.syntax--begin, &.syntax--end {
296 | color: @quotes;
297 | }
298 | }
299 |
300 | &.syntax--variable {
301 | color: @punctuation-definition-variable;
302 | }
303 |
304 | &.syntax--parameters {
305 | color: @code-font-color;
306 | }
307 |
308 | &.syntax--tag {
309 | color: @tag;
310 | }
311 | }
312 |
313 | &.syntax--section.syntax--embedded {
314 | color: @code-font-color;
315 | }
316 |
317 | }
318 |
319 |
320 |
321 | // STRINGS
322 | .syntax--string {
323 | color: @string;
324 |
325 | .syntax--constant {
326 | color: @constant;
327 | }
328 |
329 | &.syntax--interpolated {
330 | color: @variable;
331 | }
332 |
333 | &.syntax--regexp {
334 |
335 | // ?:input, select, textarea, button of /^(?:input|select|textarea|button)$/i,
336 | color: @regex;
337 |
338 | .syntax--constant.syntax--character.syntax--escape,
339 | .syntax--source.syntax--ruby.syntax--embedded,
340 | .syntax--string.syntax--regexp.syntax--arbitrary-repitition {
341 | color: @regex;
342 | }
343 |
344 | &.syntax--group {
345 | color: @regex;
346 | }
347 |
348 | &.syntax--character-class {
349 | color: @regex;
350 | }
351 |
352 | .syntax--source.syntax--ruby.syntax--embedded {
353 | color: @regex;
354 | }
355 |
356 | }
357 |
358 | &.syntax--quoted {
359 | &.syntax--double { color: @string-quoted-double; }
360 | &.syntax--single { color: @string-quoted-single; }
361 | }
362 |
363 | &.syntax--unquoted {
364 | color: @string-unquoted;
365 | &.syntax--heredoc, &.syntax--here-doc,
366 | &.syntax--nowdoc, &.syntax--now-doc,
367 | &.syntax--block, &.syntax--program-block {
368 | color: @string;
369 | }
370 | }
371 |
372 | &.syntax--other {
373 | color: @string-other;
374 | }
375 |
376 | .syntax--variable {
377 | color: @variable;
378 | }
379 |
380 | // can't tell what this does :/
381 | &.syntax--other.syntax--link {
382 | color: @string;
383 | }
384 | }
385 |
386 |
387 | // STORAGE
388 | .syntax--storage {
389 | color: @storage;
390 |
391 | &.syntax--modifier {
392 | color: @storage;
393 | }
394 |
395 | &.syntax--type {
396 | &.syntax--class {
397 | color: @storage-class;
398 | }
399 | &.syntax--function {
400 | color: @storage-function;
401 | }
402 | &.syntax--var {
403 | color: @storage-var;
404 | }
405 | }
406 |
407 | }
408 |
409 |
410 | // SUPPORT
411 | .syntax--support {
412 |
413 | color: @support;
414 |
415 | &.syntax--class {
416 | color: @support;
417 | }
418 |
419 | &.syntax--function {
420 | color: @function;
421 | &.syntax--decl {
422 | color: @support-function-decl;
423 | }
424 | }
425 |
426 | &.syntax--constant {
427 | color: @constant;
428 | }
429 | &.syntax--type {
430 | &.syntax--property-name {
431 | color: @support-type-property-name;
432 | }
433 | }
434 | }
435 |
436 | // VARIABLES
437 | .syntax--variable {
438 | color: @variable;
439 |
440 | &.syntax--control.syntax--import.syntax--include {
441 | color: @variable-import;
442 | }
443 |
444 | &.syntax--other {
445 | color: @variable-other;
446 |
447 | &.syntax--property {
448 | color: @variable-other-property;
449 | }
450 | &.syntax--module {
451 | color: @variable-other-module;
452 | }
453 | &.syntax--module-alias {
454 | color: @variable-other-module-alias;
455 | }
456 | &.syntax--object {
457 | color: @variable-other-object;
458 | }
459 | }
460 |
461 | &.syntax--parameter {
462 | &.syntax--function {
463 | color: @obj-method;
464 | }
465 | }
466 | }
467 |
--------------------------------------------------------------------------------
/styles/themes/blue.less:
--------------------------------------------------------------------------------
1 | @color1: @blue;
2 | @color1-highlight: @blue-highlight;
3 | @color1-text: @blue-text;
4 |
5 | @color2: @green;
6 | @color2-highlight: @green-highlight;
7 | @color2-text: @green-text;
8 |
9 | @color3: @purple;
10 | @color3-highlight: @purple-highlight;
11 | @color3-text: @purple-text;
12 |
13 | @color4: @red;
14 | @color4-highlight: @red-highlight;
15 | @color4-text: @red-text;
16 |
17 | @color5: @yellow;
18 | @color5-highlight: @yellow-highlight;
19 | @color5-text: @yellow-text;
20 |
21 | @color6: @orange;
22 | @color6-highlight: @orange-highlight;
23 | @color6-text: @orange-text;
24 |
25 | @color7: @pink;
26 | @color7-highlight: @pink-highlight;
27 | @color7-text: @pink-text;
28 |
29 | @color8: @steel;
30 | @color8-highlight: @steel-highlight;
31 | @color8-text: @steel-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/default.less:
--------------------------------------------------------------------------------
1 | @import "blue";
2 |
--------------------------------------------------------------------------------
/styles/themes/green.less:
--------------------------------------------------------------------------------
1 | @color1: @green;
2 | @color1-highlight: @green-highlight;
3 | @color1-text: @green-text;
4 |
5 | @color2: @purple;
6 | @color2-highlight: @purple-highlight;
7 | @color2-text: @purple-text;
8 |
9 | @color3: @blue;
10 | @color3-highlight: @blue-highlight;
11 | @color3-text: @blue-text;
12 |
13 | @color4: @pink;
14 | @color4-highlight: @pink-highlight;
15 | @color4-text: @pink-text;
16 |
17 | @color5: @yellow;
18 | @color5-highlight: @yellow-highlight;
19 | @color5-text: @yellow-text;
20 |
21 | @color6: @orange;
22 | @color6-highlight: @orange-highlight;
23 | @color6-text: @orange-text;
24 |
25 | @color7: @steel;
26 | @color7-highlight: @steel-highlight;
27 | @color7-text: @steel-text;
28 |
29 | @color8: @red;
30 | @color8-highlight: @red-highlight;
31 | @color8-text: @red-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/orange.less:
--------------------------------------------------------------------------------
1 | @color1: @orange;
2 | @color1-highlight: @orange-highlight;
3 | @color1-text: @orange-text;
4 |
5 | @color2: @purple;
6 | @color2-highlight: @purple-highlight;
7 | @color2-text: @purple-text;
8 |
9 | @color3: @blue;
10 | @color3-highlight: @blue-highlight;
11 | @color3-text: @blue-text;
12 |
13 | @color4: @pink;
14 | @color4-highlight: @pink-highlight;
15 | @color4-text: @pink-text;
16 |
17 | @color5: @yellow;
18 | @color5-highlight: @yellow-highlight;
19 | @color5-text: @yellow-text;
20 |
21 | @color6: @red;
22 | @color6-highlight: @red-highlight;
23 | @color6-text: @red-text;
24 |
25 | @color7: @steel;
26 | @color7-highlight: @steel-highlight;
27 | @color7-text: @steel-text;
28 |
29 | @color8: @green;
30 | @color8-highlight: @green-highlight;
31 | @color8-text: @green-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/pink.less:
--------------------------------------------------------------------------------
1 | @color1: @pink;
2 | @color1-highlight: @pink-highlight;
3 | @color1-text: @pink-text;
4 |
5 | @color2: @purple;
6 | @color2-highlight: @purple-highlight;
7 | @color2-text: @purple-text;
8 |
9 | @color3: @green;
10 | @color3-highlight: @green-highlight;
11 | @color3-text: @green-text;
12 |
13 | @color4: @red;
14 | @color4-highlight: @red-highlight;
15 | @color4-text: @red-text;
16 |
17 | @color5: @blue;
18 | @color5-highlight: @blue-highlight;
19 | @color5-text: @blue-text;
20 |
21 | @color6: @orange;
22 | @color6-highlight: @orange-highlight;
23 | @color6-text: @orange-text;
24 |
25 | @color7: @yellow;
26 | @color7-highlight: @yellow-highlight;
27 | @color7-text: @yellow-text;
28 |
29 | @color8: @steel;
30 | @color8-highlight: @steel-highlight;
31 | @color8-text: @steel-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/purple.less:
--------------------------------------------------------------------------------
1 | @color1: @purple;
2 | @color1-highlight: @purple-highlight;
3 | @color1-text: @purple-text;
4 |
5 | @color2: @green;
6 | @color2-highlight: @green-highlight;
7 | @color2-text: @green-text;
8 |
9 | @color3: @red;
10 | @color3-highlight: @red-highlight;
11 | @color3-text: @red-text;
12 |
13 | @color4: @yellow;
14 | @color4-highlight: @yellow-highlight;
15 | @color4-text: @yellow-text;
16 |
17 | @color5: @pink;
18 | @color5-highlight: @pink-highlight;
19 | @color5-text: @pink-text;
20 |
21 | @color6: @orange;
22 | @color6-highlight: @orange-highlight;
23 | @color6-text: @orange-text;
24 |
25 | @color7: @blue;
26 | @color7-highlight: @blue-highlight;
27 | @color7-text: @blue-text;
28 |
29 | @color8: @steel;
30 | @color8-highlight: @steel-highlight;
31 | @color8-text: @steel-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/red.less:
--------------------------------------------------------------------------------
1 | @color1: @red;
2 | @color1-highlight: @red-highlight;
3 | @color1-text: @red-text;
4 |
5 | @color2: @purple;
6 | @color2-highlight: @purple-highlight;
7 | @color2-text: @purple-text;
8 |
9 | @color3: @blue;
10 | @color3-highlight: @blue-highlight;
11 | @color3-text: @blue-text;
12 |
13 | @color4: @green;
14 | @color4-highlight: @green-highlight;
15 | @color4-text: @green-text;
16 |
17 | @color5: @yellow;
18 | @color5-highlight: @yellow-highlight;
19 | @color5-text: @yellow-text;
20 |
21 | @color6: @steel;
22 | @color6-highlight: @steel-highlight;
23 | @color6-text: @steel-text;
24 |
25 | @color7: @pink;
26 | @color7-highlight: @pink-highlight;
27 | @color7-text: @pink-text;
28 |
29 | @color8: @orange;
30 | @color8-highlight: @orange-highlight;
31 | @color8-text: @orange-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/steel.less:
--------------------------------------------------------------------------------
1 | @color1: @steel;
2 | @color1-highlight: @steel-highlight;
3 | @color1-text: @steel-text;
4 |
5 | @color2: @purple;
6 | @color2-highlight: @purple-highlight;
7 | @color2-text: @purple-text;
8 |
9 | @color3: @blue;
10 | @color3-highlight: @blue-highlight;
11 | @color3-text: @blue-text;
12 |
13 | @color4: @green;
14 | @color4-highlight: @green-highlight;
15 | @color4-text: @green-text;
16 |
17 | @color5: @yellow;
18 | @color5-highlight: @yellow-highlight;
19 | @color5-text: @yellow-text;
20 |
21 | @color6: @orange;
22 | @color6-highlight: @orange-highlight;
23 | @color6-text: @orange-text;
24 |
25 | @color7: @pink;
26 | @color7-highlight: @pink-highlight;
27 | @color7-text: @pink-text;
28 |
29 | @color8: @red;
30 | @color8-highlight: @red-highlight;
31 | @color8-text: @red-text;
32 |
--------------------------------------------------------------------------------
/styles/themes/yellow.less:
--------------------------------------------------------------------------------
1 | // ENTITY, ENTITY-FUNCTION, FUNCTION PARAM, REGEX, STRING
2 | // HTML : TAG, TAG ENTITY, BLOCK
3 | @color1: @yellow;
4 | @color1-highlight: @yellow-highlight;
5 | @color1-text: @yellow-text;
6 |
7 | // SUPPORT
8 | // HTML : ELEMENT-ATTR, CLASS, ID
9 | @color2: @red;
10 | @color2-highlight: @red-highlight;
11 | @color2-text: @red-text;
12 |
13 | // CONSTANT, NUMERIC
14 | @color3: @purple;
15 | @color3-highlight: @purple-highlight;
16 | @color3-text: @purple-text;
17 |
18 | // KEYWORD
19 | @color4: @purple;
20 | @color4-highlight: @purple-highlight;
21 | @color4-text: @purple-text;
22 |
23 | // STORAGE, VARIABLE
24 | @color5: @blue;
25 | @color5-highlight: @blue-highlight;
26 | @color5-text: @blue-text;
27 |
28 | // N/A
29 | @color6: @steel;
30 | @color6-highlight: @steel-highlight;
31 | @color6-text: @steel-text;
32 |
33 | // N/A
34 | @color7: @orange;
35 | @color7-highlight: @orange-highlight;
36 | @color7-text: @orange-text;
37 |
38 | // N/A
39 | @color8: @green;
40 | @color8-highlight: @green-highlight;
41 | @color8-text: @green-text;
42 |
--------------------------------------------------------------------------------
/styles/user-theme.less:
--------------------------------------------------------------------------------
1 | @import "themes/blue";
--------------------------------------------------------------------------------