Adding Syntax Highlighting for SubQuery Files Readability by NANO
.graphql .ya?ml .lock .ts
.graphql file
sudo nano /usr/share/nano/graphql.nanorc
# Supports `GRAPHQL` files
syntax "GRAPHQL" "\.graphql$"
header "^(---|===)" "%GRAPHQL"
## Keys
color magenta "^\s*[\$A-Za-z0-9_-]+\:"
color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:"
## Values
color white ":\s.+$"
## Booleans
icolor brightcyan " (y|yes|n|no|true|false|on|off)$"
## Numbers
color brightred " [[:digit:]]+(\.[[:digit:]]+)?"
## Arrays
color red "\[" "\]" ":\s+[|>]" "^\s*- "
## Reserved
color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "
## Reserved
color yellow "[{}] "
## Reserved
color brightgreen "[!*$]"
## Reserved
color blue "[@*$]"
## Comments
color brightwhite "#.*$"
## Errors
color ,red ":\w.+$"
color ,red ":'.+$"
color ,red ":".+$"
color ,red "\s+$"
## Non closed quote
color ,red "['\"][^['\"]]*$"
## Closed quotes
color yellow "['\"].*['\"]"
## Equal sign
color brightgreen ":( |$)"
echo include "/usr/share/nano/graphql.nanorc" >> ~/.nanorc
.ya?ml file
sudo nano /usr/share/nano/yaml.nanorc
# Supports `YAML` files
syntax "YAML" "\.ya?ml$"
header "^(---|===)" "%YAML"
## Keys
color magenta "^\s*[\$A-Za-z0-9_-]+\:"
color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:"
## Values
color white ":\s.+$"
## Booleans
icolor brightcyan " (y|yes|n|no|true|false|on|off)$"
## Numbers
color brightred " [[:digit:]]+(\.[[:digit:]]+)?"
## Arrays
color red "\[" "\]" ":\s+[|>]" "^\s*- "
## Reserved
color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "
## Reserved
color yellow "[{}]"
## Reserved
color brightgreen "[!*$]"
## Reserved
color blue "[@.*$]"
## Reserved
color cyan "(^|[[:space:]])#.*$"
## Comments
color brightwhite "#.*$"
## Errors
color ,red ":\w.+$"
color ,red ":'.+$"
color ,red ":".+$"
color ,red "\s+$"
## Non closed quote
color ,red "['\"][^['\"]]*$"
## Closed quotes
color yellow "['\"].*['\"]"
## Equal sign
color brightgreen ":( |$)"
echo include "/usr/share/nano/yaml.nanorc" >> ~/.nanorc
.lock file
sudo nano /usr/share/nano/lock.nanorc
# Supports `LOCK` files
syntax "LOCK" "\.lock$"
header "^(---|===)" "%LOCK"
## Keys
color magenta "^\s*[\$A-Za-z0-9_-]+\:"
color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:"
## Values
color white ":\s.+$"
## Booleans
icolor brightcyan " (y|yes|n|no|true|false|on|off)$"
## Numbers
color brightred " [[:digit:]]+(\.[[:digit:]]+)?"
## Arrays
color red "\[" "\]" ":\s+[|>]" "^\s*- "
## Reserved
color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "
## Reserved
color yellow "[{}]"
## Reserved
color brightgreen "[!*$]"
## Reserved
color blue "[@.*$]"
## Reserved
color cyan "(^|[[:space:]])#.*$"
## Comments
color brightwhite "#.*$"
## Errors
color ,red ":\w.+$"
color ,red ":'.+$"
color ,red ":".+$"
color ,red "\s+$"
## Non closed quote
color ,red "['\"][^['\"]]*$"
## Closed quotes
color yellow "['\"].*['\"]"
## Equal sign
color brightgreen ":( |$)"
echo include "/usr/share/nano/lock.nanorc" >> ~/.nanorc
.ts file
sudo nano /usr/share/nano/ts.nanorc
# Supports `TS` files
syntax "TS" "\.ts$"
header "^(---|===)" "%TS"
## Keys
color magenta "^\s*[\$A-Za-z0-9_-]+\:"
color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:"
## Values
color white ":\s.+$"
## Booleans
icolor brightcyan " (y|yes|n|no|true|false|on|off)$"
## Numbers
color brightred " [[:digit:]]+(\.[[:digit:]]+)?"
## Arrays
color red "\[" "\]" ":\s+[|>]" "^\s*- "
## Reserved
color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "
## Reserved
color yellow "[{}]"
## Reserved
color brightgreen "[!*$]"
## Reserved
color blue "[@.*$]"
## Reserved
color cyan "(^|[[:space:]])#.*$"
## Comments
color brightwhite "#.*$"
## Errors
color ,red ":\w.+$"
color ,red ":'.+$"
color ,red ":".+$"
color ,red "\s+$"
## Non closed quote
color ,red "['\"][^['\"]]*$"
## Closed quotes
color yellow "['\"].*['\"]"
## Equal sign
color brightgreen ":( |$)"
echo include "/usr/share/nano/ts.nanorc" >> ~/.nanorc
ย