mirror of
https://github.com/zyedidia/micro.git
synced 2025-06-19 07:15:34 -04:00
Add Crystal language support (#473)
* ignore micro binary * Add crystal syntax * Add more crystal keywords; add character style * Default character style to string
This commit is contained in:
parent
d00b9f3b7a
commit
44fa0d77ff
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,5 +1,6 @@
|
|||||||
./micro
|
micro
|
||||||
!cmd/micro
|
!cmd/micro
|
||||||
binaries/
|
binaries/
|
||||||
tmp.sh
|
tmp.sh
|
||||||
test/
|
test/
|
||||||
|
.idea/
|
||||||
|
File diff suppressed because one or more lines are too long
@ -4,6 +4,7 @@ color-link comment "#75715E,#282828"
|
|||||||
color-link identifier "#66D9EF,#282828"
|
color-link identifier "#66D9EF,#282828"
|
||||||
color-link constant "#AE81FF,#282828"
|
color-link constant "#AE81FF,#282828"
|
||||||
color-link constant.string "#E6DB74,#282828"
|
color-link constant.string "#E6DB74,#282828"
|
||||||
|
color-link constant.string.char "#BDE6AD,#282828"
|
||||||
color-link statement "#F92672,#282828"
|
color-link statement "#F92672,#282828"
|
||||||
color-link preproc "#CB4B16,#282828"
|
color-link preproc "#CB4B16,#282828"
|
||||||
color-link type "#66D9EF,#282828"
|
color-link type "#66D9EF,#282828"
|
||||||
|
@ -3,6 +3,7 @@ color-link comment "#75715E,#282828"
|
|||||||
color-link identifier "#66D9EF,#282828"
|
color-link identifier "#66D9EF,#282828"
|
||||||
color-link constant "#AE81FF,#282828"
|
color-link constant "#AE81FF,#282828"
|
||||||
color-link constant.string "#E6DB74,#282828"
|
color-link constant.string "#E6DB74,#282828"
|
||||||
|
color-link constant.string.char "#BDE6AD,#282828"
|
||||||
color-link statement "#F92672,#282828"
|
color-link statement "#F92672,#282828"
|
||||||
color-link preproc "#CB4B16,#282828"
|
color-link preproc "#CB4B16,#282828"
|
||||||
color-link type "#66D9EF,#282828"
|
color-link type "#66D9EF,#282828"
|
||||||
|
34
runtime/syntax/crystal.micro
Normal file
34
runtime/syntax/crystal.micro
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
## Crystal Syntax file.
|
||||||
|
##
|
||||||
|
syntax "crystal" "\.cr$" "Gemfile" "config.ru" "Rakefile" "Capfile" "Vagrantfile"
|
||||||
|
header "^#!.*/(env +)?crystal( |$)"
|
||||||
|
|
||||||
|
## Asciibetical list of reserved words
|
||||||
|
color statement "\b(BEGIN|END|abstract|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|enum|false|for|fun|if|in|include|lib|loop|macro|module|next|nil|not|of|or|pointerof|private|protected|raise|redo|require|rescue|retry|return|self|sizeof|spawn|struct|super|then|true|type|undef|union|uninitialized|unless|until|when|while|yield)\b"
|
||||||
|
## Constants
|
||||||
|
color constant "(\$|@|@@)?\b[A-Z]+[0-9A-Z_a-z]*"
|
||||||
|
color constant.number "\b[0-9]+\b"
|
||||||
|
## Crystal "symbols"
|
||||||
|
color constant (i) "([ ]|^):[0-9A-Z_]+\b"
|
||||||
|
## Some unique things we want to stand out
|
||||||
|
color constant "\b(__FILE__|__LINE__)\b"
|
||||||
|
## Regular expressions
|
||||||
|
color constant "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*"
|
||||||
|
## Shell command expansion is in `backticks` or like %x{this}. These are
|
||||||
|
## "double-quotish" (to use a perlism).
|
||||||
|
color constant.string "`[^`]*`" "%x\{[^}]*\}"
|
||||||
|
## Strings, double-quoted
|
||||||
|
color constant.string ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!"
|
||||||
|
## Expression substitution. These go inside double-quoted strings,
|
||||||
|
## "like #{this}".
|
||||||
|
color special "#\{[^}]*\}"
|
||||||
|
## Characters are single-quoted
|
||||||
|
color constant.string.char "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!"
|
||||||
|
## Comments
|
||||||
|
color comment "#[^{].*$" "#$"
|
||||||
|
color comment "##[^{].*$" "##$"
|
||||||
|
## "Here" docs
|
||||||
|
color constant start="<<-?'?EOT'?" end="^EOT"
|
||||||
|
## Some common markers
|
||||||
|
color todo "(XXX|TODO|FIXME|\?\?\?)"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user