mirror of
https://github.com/MidnightCommander/mc-old.git
synced 2026-02-02 11:11:36 -08:00
Signed-off-by: Jonas Smedegaard <dr@jones.dk> Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
121 lines
4.4 KiB
YAML
121 lines
4.4 KiB
YAML
#
|
|
# Turtle syntax highlighting
|
|
# for MC Editor/CoolEdit
|
|
#
|
|
# Copyright 2020, Jonas Smedegaard <dr@jones.dk>
|
|
#
|
|
# This program is free software:
|
|
# you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation,
|
|
# either version 3 of the License,
|
|
# or (at your option) any later version.
|
|
#
|
|
# 2020-04-12 Jonas Smedegaard <dr@jones.dk>
|
|
# * Initial public release.
|
|
#
|
|
# Reference:
|
|
# https://www.w3.org/TeamSubmission/turtle/
|
|
|
|
context default lightgray
|
|
spellcheck
|
|
|
|
# declarations
|
|
keyword whole @base magenta
|
|
keyword whole @prefix magenta
|
|
|
|
keyword whole a yellow
|
|
|
|
keyword ^^ brightmagenta
|
|
|
|
# Collection
|
|
keyword ( brightmagenta
|
|
keyword ) brightmagenta
|
|
|
|
# Shorthand prefix
|
|
keyword wholeleft \{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[\abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-\]: cyan
|
|
keyword wholeleft : cyan
|
|
|
|
# Anonymous node
|
|
keyword wholeleft _: cyan
|
|
keyword [ cyan
|
|
keyword ] cyan
|
|
|
|
# Decimal integers
|
|
keyword whole \{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{-+\}\{0123456789\}\[0123456789\] yellow
|
|
|
|
# Decimal floating point arbitrary precision number
|
|
keyword whole \{0123456789\}.\[0123456789\] yellow
|
|
keyword whole .\{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{-+\}\{0123456789\}.\[0123456789\] yellow
|
|
keyword whole \{-+\}.\{0123456789\}\[0123456789\] yellow
|
|
|
|
# Decimal floating point double/fixed precision number
|
|
keyword whole \{0123456789\}.\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{0123456789\}.\[0123456789\]\{-+\}\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole .\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole .\{0123456789\}\[0123456789\]\{-+\}\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{-+\}\{0123456789\}.\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{-+\}\{0123456789\}.\[0123456789\]\{-+\}\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{-+\}.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
keyword whole \{-+\}.\{0123456789\}\[0123456789\]\{-+\}\{eE\}\{0123456789\}\[0123456789\] yellow
|
|
|
|
# Boolean
|
|
keyword whole true yellow
|
|
keyword whole false yellow
|
|
|
|
# Language
|
|
keyword wholeright @\{abcdefghijklmnopqrstuvwxyz\}\[abcdefghijklmnopqrstuvwxyz0123456789-\]\[abcdefghijklmnopqrstuvwxyz0123456789\] brightmagenta
|
|
keyword wholeright @\{abcdefghijklmnopqrstuvwxyz\}\[abcdefghijklmnopqrstuvwxyz0123456789\] brightmagenta
|
|
|
|
# Punctuation
|
|
keyword , white
|
|
keyword ; white
|
|
# keyword . black white
|
|
keyword . white brightmagenta
|
|
|
|
# URL
|
|
# keyword whole <*> brightred
|
|
context < > brightred
|
|
|
|
# TODO: enable when context ending at newline doesn't ruin next context
|
|
# syntax violation
|
|
# keyword +\n black red
|
|
|
|
# String escape
|
|
keyword \\u\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\} brightgreen
|
|
keyword \\U\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\} brightgreen
|
|
keyword \\\{tnr>\\} brightgreen
|
|
|
|
# Single-line literals
|
|
context exclusive " " green
|
|
spellcheck
|
|
|
|
# TODO: enable when context ending at newline doesn't ruin next context
|
|
# syntax violation
|
|
# keyword +\n black red
|
|
|
|
# String escape
|
|
keyword \\u\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\} brightgreen
|
|
keyword \\U\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\} brightgreen
|
|
keyword \\\{tnr"\\} brightgreen
|
|
|
|
# Multi-line literals
|
|
context """ """ green
|
|
spellcheck
|
|
|
|
# String escape
|
|
keyword \\u\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\} brightgreen
|
|
keyword \\U\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\}\{0123456789abcdef\} brightgreen
|
|
keyword \\\{tnr"\\} brightgreen
|
|
|
|
# Comment
|
|
context linestart # \n brown
|
|
spellcheck
|
|
|
|
# Ideally we would have defined comments with "context linestart \[\s\]# ...",
|
|
# but contexts can't start with a character class. So we define comments twice.
|
|
context linestart \s\[\s\]# \n brown
|
|
spellcheck
|