on-codemerge
Version:
A WYSIWYG editor for on-codemerge is a user-friendly interface that allows users to edit and view their code in real time, exactly as it will appear in the final product
48 lines (47 loc) • 921 B
JavaScript
import { TokenType as e } from "../../../types.mjs";
const n = {
name: "shell",
patterns: {
[e.Comment]: /^#.*$/,
[e.String]: /^"(?:\\.|[^"\\])*"|^'[^']*'/,
[e.Variable]: /^\$\{?[\w-]+\}?|\$[\d*@#?$!_]/,
[e.Function]: /^\b[a-zA-Z_]\w*(?=\s*\(\))/,
[e.Command]: /^\b(?:cd|pwd|ls|cp|mv|rm|mkdir|chmod|chown|grep|find|sed|awk|curl|wget|tar|gzip|ssh|git|docker|npm|yarn)\b/,
[e.Operator]: /^(?:&&|\|\||>>|<<|[|>&])/,
[e.Punctuation]: /^[{}[\]();]/,
[e.Parameter]: /^--?[\w-]+/
},
keywords: [
"if",
"then",
"else",
"elif",
"fi",
"case",
"esac",
"for",
"while",
"until",
"do",
"done",
"in",
"function",
"time",
"select",
"break",
"continue",
"return",
"exit",
"export",
"local",
"readonly",
"set",
"unset",
"shift",
"source",
"test"
]
};
export {
n as shellDefinition
};