add Alloy syntax highlighting

main
Brian Hicks 2022-12-13 08:03:18 -06:00
parent f8d76554b6
commit 27d5ac5a7b
Signed by: brian
GPG Key ID: C4F324B9CAAB0D50
2 changed files with 72 additions and 0 deletions

View File

@ -18,6 +18,8 @@ feed_filename = "index.xml"
highlight_code = true
highlight_theme = "one-dark"
extra_syntaxes_and_themes = ["syntaxes"]
[[taxonomies]]
name = "series"

View File

@ -0,0 +1,70 @@
%YAML 1.2
---
# converted from https://github.com/corbanmailloux/sublime-mit-alloy.
#
# MIT License: https://github.com/corbanmailloux/sublime-mit-alloy/blob/master/LICENSE.txt
#
# > The MIT License (MIT)
# >
# > Copyright (c) 2016 Corban Mailloux
# >
# > 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:
# >
# > The above copyright notice and this permission notice shall be included in all
# > copies or substantial portions of the Software.
# >
# > 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.
#
# http://www.sublimetext.com/docs/syntax.html
name: MIT Alloy
file_extensions:
- als
- alloy
scope: source.mit_alloy
contexts:
main:
- match: /\*
comment: Block comment
push:
- meta_scope: comment.block
- match: \*/
pop: true
- match: //.*$
comment: Line comment
scope: comment.double-slash
- match: '--.*$'
comment: Line comment
scope: comment.double-dash
- match: (\\|`|\$|%|\?)
comment: Invalid characters
scope: invalid.illegal
- match: '([a-zA-Z_])+\s*\['
comment: Function calls
push:
- meta_scope: entity.name.function
- meta_content_scope: variable.parameter
- match: '\]'
pop: true
- match: \b(fun|fact|pred|assert|enum|sig|module)\b
comment: type
scope: storage.type
- match: \b(abstract)\b
comment: modifiers
scope: storage.modifier
- match: '\b([0-9])+\b'
comment: integer
scope: constant.numeric
- match: \b(not|and|or|implies|in|iff|all|some|one|lone|no|none|univ|iden|let|extends|run|for|but|disj|disjoint|set|else|sum|open|check)\b|(=>|->|\||&|=|:|~|\.|\^|\*|<:|:>|\+\+|\+|-|!|&&|<=>|\|\|)
comment: Operators
scope: keyword.operator