From c18751d613a33a0b5babdc2566aec4df2ea5471f Mon Sep 17 00:00:00 2001 From: Colin Rioux Date: Sat, 18 Feb 2017 11:43:47 -0500 Subject: [PATCH] Added css, html, makefile, micro, scala, typescript, and xml --- syntax_files/css.yaml | 42 ++++++++++++++++++++++++++++++++++++ syntax_files/html.yaml | 11 ++++++++++ syntax_files/makefile.yaml | 37 +++++++++++++++++++++++++++++++ syntax_files/micro.yaml | 22 +++++++++++++++++++ syntax_files/scala.yaml | 27 +++++++++++++++++++++++ syntax_files/typescript.yaml | 42 ++++++++++++++++++++++++++++++++++++ syntax_files/xml.yaml | 16 ++++++++++++++ 7 files changed, 197 insertions(+) create mode 100644 syntax_files/css.yaml create mode 100644 syntax_files/html.yaml create mode 100644 syntax_files/makefile.yaml create mode 100644 syntax_files/micro.yaml create mode 100644 syntax_files/scala.yaml create mode 100644 syntax_files/typescript.yaml create mode 100644 syntax_files/xml.yaml diff --git a/syntax_files/css.yaml b/syntax_files/css.yaml new file mode 100644 index 0000000..3c4fb33 --- /dev/null +++ b/syntax_files/css.yaml @@ -0,0 +1,42 @@ +filetype: css + +detect: + filename: "\\.(css|scss)$" + +rules: + # Classes and IDs + - statement: "(?i)." + - normal: + start: "\\{" + end: "\\}" + rules: [] + # css commands + - type: "(align-content|align-items|alignment-baseline|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|appearance|azimuth|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|baseline-shift|bookmark-label|bookmark-level|bookmark-state|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-boundary|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|box-snap|box-suppress|break-after|break-before|break-inside|caption-side|caret|caret-animation|caret-color|caret-shape|chains|clear|clip|clip-path|clip-rule|color|color-interpolation-filters|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|columns|column-span|column-width|content|continue|counter-increment|counter-reset|counter-set|cue|cue-after|cue-before|cursor|direction|display|dominant-baseline|elevation|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|float-defer|float-offset|float-reference|flood-color|flood-opacity|flow|flow-from|flow-into|font|font-family|font-feature-settings|font-kerning|font-language-override|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-weight|footnote-display|footnote-policy|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphenate-character|hyphenate-limit-chars|hyphenate-limit-last|hyphenate-limit-lines|hyphenate-limit-zone|hyphens|image-orientation|image-rendering|image-resolution|initial-letter|initial-letter-align|initial-letter-wrap|isolation|justify-content|justify-items|justify-self|left|letter-spacing|lighting-color|line-break|line-grid|line-height|line-snap|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|marker|marker-end|marker-knockout-left|marker-knockout-right|marker-mid|marker-pattern|marker-segment|marker-side|marker-start|marquee-direction|marquee-loop|marquee-speed|marquee-style|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-height|max-lines|max-width|min-height|min-width|mix-blend-mode|motion|motion-offset|motion-path|motion-rotation|nav-down|nav-left|nav-right|nav-up|object-fit|object-position|offset-after|offset-before|offset-end|offset-start|opacity|order|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-style|overflow-wrap|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page|page-break-after|page-break-before|page-break-inside|pause|pause-after|pause-before|perspective|perspective-origin|pitch|pitch-range|play-during|polar-anchor|polar-angle|polar-distance|polar-origin|position|presentation-level|quotes|region-fragment|resize|rest|rest-after|rest-before|richness|right|rotation|rotation-point|ruby-align|ruby-merge|ruby-position|running|scroll-behavior|scroll-snap-align|scroll-snap-margin|scroll-snap-margin-block|scroll-snap-margin-block-end|scroll-snap-margin-block-start|scroll-snap-margin-bottom|scroll-snap-margin-inline|scroll-snap-margin-inline-end|scroll-snap-margin-inline-start|scroll-snap-margin-left|scroll-snap-margin-right|scroll-snap-margin-top|scroll-snap-padding|scroll-snap-padding-block|scroll-snap-padding-block-end|scroll-snap-padding-block-start|scroll-snap-padding-bottom|scroll-snap-padding-inline|scroll-snap-padding-inline-end|scroll-snap-padding-inline-start|scroll-snap-padding-left|scroll-snap-padding-right|scroll-snap-padding-top|scroll-snap-type|shape-image-threshold|shape-inside|shape-margin|shape-outside|size|speak|speak-as|speak-header|speak-numeral|speak-punctuation|speech-rate|stress|string-set|stroke|stroke-alignment|stroke-dashadjust|stroke-dasharray|stroke-dashcorner|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|table-layout|tab-size|text-align|text-align-all|text-align-last|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-style|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-shadow|text-space-collapse|text-space-trim|text-spacing|text-transform|text-underline-position|text-wrap|top|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch|voice-range|voice-rate|voice-stress|voice-volume|volume|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|wrap-after|wrap-before|wrap-flow|wrap-inside|wrap-through|writing-mode|z-index):" + - normal: + start: ":" + end: "[;^\{]" + rules: [] + - special: "!important" + - identifier: ":active|:focus|:hover|:link|:visited|:link|:after|:before|$" + - special: "(\\{|\\}|\\(|\\)|\\;|:|\\]|~|<|>|,)" + # SCSS Varaibles + - statement: "@import|@mixin|@extend" + # Strings + - constant.string: + start: "\"" + end: "\"" + rules: + - constant.specialChar: "\\\\." + - constant.string: + start: "'" + end: "'" + rules: + - constant.specialChar: "\\\\." + - special: "\"|'" + # Comments & TODOs + - comment: + start: "\\/\\*" + end: "\\*\\/" + rules: + - todo: "(TODO|XXX|FIXME):?" + \ No newline at end of file diff --git a/syntax_files/html.yaml b/syntax_files/html.yaml new file mode 100644 index 0000000..d368487 --- /dev/null +++ b/syntax_files/html.yaml @@ -0,0 +1,11 @@ +filetype: html + +detect: + filename: "\\.htm[l]?$" + +rules: + - identifier: "<.*?>" + - special: "&[^;[[:space:]]]*;" + - statement: "(alt|bgcolor|height|href|label|longdesc|name|onclick|onfocus|onload|onmouseover|size|span|src|style|target|type|value|width)=" + - constant: "\"[^\"]*\"|qq\\|.*\\|" + \ No newline at end of file diff --git a/syntax_files/makefile.yaml b/syntax_files/makefile.yaml new file mode 100644 index 0000000..e82c120 --- /dev/null +++ b/syntax_files/makefile.yaml @@ -0,0 +1,37 @@ +filetype: makefile + +detect: + filename: "([Mm]akefile|\\.ma?k)$" + header: "^#!.*/(env +)?[bg]?make( |$)" + +rules: + - preproc: "\\<(ifeq|ifdef|ifneq|ifndef|else|endif)\\>" + - statement: "^(export|include|override)\\>" + - operator: "^[^:= ]+:" + - operator: "[=,%]" "\\+=|\\?=|:=|&&|\\|\\|" + - statement: "\\$\\((abspath|addprefix|addsuffix|and|basename|call|dir)[[:space:]]" + - statement: "\\$\\((error|eval|filter|filter-out|findstring|firstword)[[:space:]]" + - statement: "\\$\\((flavor|foreach|if|info|join|lastword|notdir|or)[[:space:]]" + - statement: "\\$\\((origin|patsubst|realpath|shell|sort|strip|suffix)[[:space:]]" + - statement: "\\$\\((value|warning|wildcard|word|wordlist|words)[[:space:]]" + - identifier: "^.+:" + - identifier: "[()$]" + - constant.string: + start: "\"" + end: "\"" + rules: + - constant.specialChar: "\\\\." + - constant.string: + start: "'" + end: "'" + rules: + - constant.specialChar: "\\\\." + - identifier: "\\$+(\\{[^} ]+\\}|\\([^) ]+\\))" + - identifier: "\\$[@^<*?%|+]|\\$\\([@^<*?%+-][DF]\\)" + - identifier: "\\$\\$|\\\\.?" + - comment: + start: "#" + end: "$" + rules: [] + # color comment "^ @#.*" <-- ? + \ No newline at end of file diff --git a/syntax_files/micro.yaml b/syntax_files/micro.yaml new file mode 100644 index 0000000..588efb8 --- /dev/null +++ b/syntax_files/micro.yaml @@ -0,0 +1,22 @@ +filetype: micro + +detect: + filename: "\\.(micro)$" + +rules: + - statement: "\\b(syntax|color(-link)?)\\b" + - statement: "\\b(start=|end=)\\b" + - identifier: "\\b(default|comment|symbol|identifier|constant(.string(.char)?|.number)?|statement|preproc|type|special|underlined|error|todo|statusline|indent-char|(current-)?line-number|gutter-error|gutter-warning|cursor-line|color-column)\\b" + - constant.number: "\\b(|h|A|0x)+[0-9]+(|h|A)+\\b" + - constant.number: "\\b0x[0-9 a-f A-F]+\\b" + - comment: + start: "#" + end: "$" + rules: [] + - constant.string: + start: "\"" + end: "\"" + rules: + - constant.specialChar: "\\\\." + - constant.number: "#[0-9 A-F a-f]+" + \ No newline at end of file diff --git a/syntax_files/scala.yaml b/syntax_files/scala.yaml new file mode 100644 index 0000000..558d5b4 --- /dev/null +++ b/syntax_files/scala.yaml @@ -0,0 +1,27 @@ +filetype: scala + +detect: + filename: "\\.scala$" + +rules: + - type: "\\b(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\\b" + - statement: "\\b(match|val|var|break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\\b" + - statement: "\\b(def|object|case|trait|lazy|implicit|abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile|sealed)\\b" + - constant.string: + start: "\"" + end: "\"" + rules: + - constant.specialChar: "\\\\." + - constant: "\\b(true|false|null)\\b" + - comment: + start: "//" + end: "$" + rules: [] + - comment: + start: "/\\*" + end: "\\*/" + rules: [] + - comment: + start: "/\\*\\*" + end: "\\*/" + rules: [] diff --git a/syntax_files/typescript.yaml b/syntax_files/typescript.yaml new file mode 100644 index 0000000..0b89423 --- /dev/null +++ b/syntax_files/typescript.yaml @@ -0,0 +1,42 @@ +filetype: typescript + +detect: + filename: "\\.ts$" + +rules: + - constant.number: "\\b[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\\b" + - constant.number: "\\b[-+]?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?" + - constant.number: "\\b[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?" + - identifier: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]" + - statement: "\\b(abstract|as|async|await|break|case|catch|class|const|constructor|continue)\\b" + - statement: "\\b(debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from)\\b" + - statement: "\\b(function|get|if|implements|import|in|instanceof|interface|is|let|module|namespace)\\b" + - statement: "\\b(new|of|package|private|protected|public|require|return|set|static|super|switch)\\b" + - statement: "\\b(this|throw|try|type|typeof|var|void|while|with|yield)\\b" + - constant: "\\b(false|true|null|undefined|NaN)\\b" + - type: "\\b(Array|Boolean|Date|Enumerator|Error|Function|Math)\\b" + - type: "\\b(Number|Object|RegExp|String|Symbol)\\b" + - type: "\\b(any|boolean|never|number|string|symbol)\\b" + - statement: "[-+/*=<>!~%?:&|]" + - constant: "/[^*]([^/]|(\\\\/))*[^\\\\]/[gim]*" + - constant: "\\\\[0-7][0-7]?[0-7]?|\\\\x[0-9a-fA-F]+|\\\\[bfnrt'\"\\?\\\\]" + - comment: + start: "//" + end: "$" + rules: [] + - comment: + start: "/\\*" + end: "\\*/" + rules: + - todo: "TODO:?" + - constant.string: + start: "\"" + end: "\"" + rules: + - constant.specialChar: "\\\\." + - constant.string: + start: "'" + end: "'" + rules: + - constant.specialChar: "\\\\." + \ No newline at end of file diff --git a/syntax_files/xml.yaml b/syntax_files/xml.yaml new file mode 100644 index 0000000..cabcf45 --- /dev/null +++ b/syntax_files/xml.yaml @@ -0,0 +1,16 @@ +filetype: xml + +detect: + filename: "\\.(xml|sgml?|rng|plist)$" + +rules: + - identifier: "<.*?>" + - comment: + start: "" + rules: [] + - comment: + start: "" + rules: [] + – special: "&[^;]*;"