Vitepress

This commit is contained in:
Robert Jelic
2025-02-10 06:53:23 +01:00
parent 3818128521
commit b0a4a6da9c
2428 changed files with 1005324 additions and 0 deletions

189
node_modules/shiki/languages/fish.tmLanguage.json generated vendored Normal file
View File

@@ -0,0 +1,189 @@
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"fileTypes": ["fish"],
"firstLineMatch": "^#!.*\\bfish\\b",
"foldingStartMarker": "^\\s*(function|while|if|switch|for|begin)\\s.*$",
"foldingStopMarker": "^\\s*end\\s*$",
"keyEquivalent": "^~F",
"name": "fish",
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.fish"
}
},
"comment": "Double quoted string",
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.fish"
}
},
"name": "string.quoted.double.fish",
"patterns": [
{
"include": "#variable"
},
{
"comment": "https://fishshell.com/docs/current/#quotes",
"match": "\\\\(\\\"|\\$|$|\\\\)",
"name": "constant.character.escape.fish"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.fish"
}
},
"comment": "Single quoted string",
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.fish"
}
},
"name": "string.quoted.single.fish",
"patterns": [
{
"comment": "https://fishshell.com/docs/current/#quotes",
"match": "\\\\('|`|\\\\)",
"name": "constant.character.escape.fish"
}
]
},
{
"captures": {
"1": {
"name": "punctuation.definition.comment.fish"
}
},
"comment": "line comment",
"match": "(?<!\\$)(#)(?!\\{).*$\\n?",
"name": "comment.line.number-sign.fish"
},
{
"comment": "name of command, either a function or a binary",
"match": "(^\\s*|&&\\s*|\\|\\s*|\\(\\s*|[;]\\s*|\\b(if|while)\\b\\s+)(?!(?<!\\.)\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\b(?![?!]))([a-zA-Z_\\-0-9\\[\\].]+)",
"captures": {
"2": {
"name": "keyword.control.fish"
},
"4": {
"name": "support.function.command.fish"
}
}
},
{
"comment": "keywords that affect control flow",
"match": "(?<!\\.)\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\b(?![?!])",
"name": "keyword.control.fish"
},
{
"match": "(?<!\\.)\\bfunction\\b(?![?!])",
"name": "storage.type.fish"
},
{
"match": "\\|",
"name": "keyword.operator.pipe.fish"
},
{
"comment": "IO Redirection",
"match": "(?x:\n<|# Standard Input\n(>|\\^|>>|\\^\\^)(&[012\\-])?| # Redirection of stderr\n[012](<|>|>>)(&[012\\-])? # Redirect input/output of file descriptors\n)",
"name": "keyword.operator.redirect.fish"
},
{
"match": "&",
"name": "keyword.operator.background.fish"
},
{
"match": "\\*\\*|\\*|\\?",
"name": "keyword.operator.glob.fish"
},
{
"comment": "command short/long options",
"match": "\\s(-{1,2}[a-zA-Z_\\-0-9]+|-\\w)\\b",
"captures": {
"1": {
"name": "source.option.fish"
}
}
},
{
"include": "#variable"
},
{
"include": "#escape"
}
],
"repository": {
"escape": {
"patterns": [
{
"comment": "single character character escape sequences",
"match": "\\\\[abefnrtv $*?~#(){}\\[\\]<>^&|;\"']",
"name": "constant.character.escape.single.fish"
},
{
"comment": "escapes the ascii character with the specified value (hexadecimal)",
"match": "\\\\x[0-9a-fA-F]{1,2}",
"name": "constant.character.escape.hex-ascii.fish"
},
{
"comment": "escapes a byte of data with the specified value (hexadecimal). If you are using mutibyte encoding, this can be used to enter invalid strings. Only use this if you know what are doing.",
"match": "\\\\X[0-9a-fA-F]{1,2}",
"name": "constant.character.escape.hex-byte.fish"
},
{
"comment": "escapes the ascii character with the specified value (octal)",
"match": "\\\\[0-7]{1,3}",
"name": "constant.character.escape.octal.fish"
},
{
"comment": "escapes the 16-bit unicode character with the specified value (hexadecimal)",
"match": "\\\\u[0-9a-fA-F]{1,4}",
"name": "constant.character.escape.unicode-16-bit.fish"
},
{
"comment": "escapes the 32-bit unicode character with the specified value (hexadecimal)",
"match": "\\\\U[0-9a-fA-F]{1,8}",
"name": "constant.character.escape.unicode-32-bit.fish"
},
{
"comment": "escapes the control sequence generated by pressing the control key and the specified letter",
"match": "\\\\c[a-zA-Z]",
"name": "constant.character.escape.control.fish"
}
]
},
"variable": {
"patterns": [
{
"comment": "Built-in variables visible by pressing $ TAB TAB in a new shell",
"captures": {
"1": {
"name": "punctuation.definition.variable.fish"
}
},
"match": "(\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\b",
"name": "variable.language.fish"
},
{
"captures": {
"1": {
"name": "punctuation.definition.variable.fish"
}
},
"match": "(\\$)[a-zA-Z_][a-zA-Z0-9_]*",
"name": "variable.other.normal.fish"
}
]
}
},
"scopeName": "source.fish",
"uuid": "9CA6DB6F-A16F-4836-A058-617C7378775D"
}