Add various language syntax highlighting (#329)

pull/369/head
Brendan Molloy 2023-01-22 18:45:01 +01:00 committed by GitHub
parent 876a164692
commit 5ad804da1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 154 additions and 2 deletions

View File

@ -92,8 +92,32 @@ export {
syntaxTree, syntaxTree,
} from "@codemirror/language"; } from "@codemirror/language";
export { yaml as yamlLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.2.0/mode/yaml?external=@codemirror/language"; export { yaml as yamlLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/yaml?external=@codemirror/language";
export { standardSQL as sqlLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/sql?external=@codemirror/language"; export {
standardSQL as sqlLanguage,
pgSQL as postgresqlLanguage,
} from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/sql?external=@codemirror/language";
export { rust as rustLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/rust?external=@codemirror/language";
export { css as cssLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/css?external=@codemirror/language";
export { python as pythonLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/python?external=@codemirror/language";
export { protobuf as protobufLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/protobuf?external=@codemirror/language";
export { shell as shellLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/shell?external=@codemirror/language";
export { swift as swiftLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/swift?external=@codemirror/language";
export { toml as tomlLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/toml?external=@codemirror/language";
export { xml as xmlLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/xml?external=@codemirror/language";
export { json as jsonLanguage } from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/javascript?external=@codemirror/language";
export {
c as cLanguage,
cpp as cppLanguage,
java as javaLanguage,
csharp as csharpLanguage,
scala as scalaLanguage,
kotlin as kotlinLanguage,
objectiveC as objectiveCLanguage,
objectiveCpp as objectiveCppLanguage,
dart as dartLanguage,
} from "https://esm.sh/@codemirror/legacy-modes@6.3.1/mode/clike?external=@codemirror/language";
export { export {
javascriptLanguage, javascriptLanguage,
typescriptLanguage, typescriptLanguage,

View File

@ -1,11 +1,15 @@
// Third party web dependencies // Third party web dependencies
import { import {
autocompletion, autocompletion,
cLanguage,
closeBrackets, closeBrackets,
closeBracketsKeymap, closeBracketsKeymap,
CompletionContext, CompletionContext,
completionKeymap, completionKeymap,
CompletionResult, CompletionResult,
cppLanguage,
csharpLanguage,
dartLanguage,
drawSelection, drawSelection,
dropCursor, dropCursor,
EditorSelection, EditorSelection,
@ -16,22 +20,35 @@ import {
historyKeymap, historyKeymap,
indentOnInput, indentOnInput,
indentWithTab, indentWithTab,
javaLanguage,
javascriptLanguage, javascriptLanguage,
jsonLanguage,
KeyBinding, KeyBinding,
keymap, keymap,
kotlinLanguage,
LanguageDescription, LanguageDescription,
LanguageSupport, LanguageSupport,
markdown, markdown,
objectiveCLanguage,
objectiveCppLanguage,
postgresqlLanguage,
protobufLanguage,
pythonLanguage,
runScopeHandlers, runScopeHandlers,
rustLanguage,
scalaLanguage,
searchKeymap, searchKeymap,
shellLanguage,
sqlLanguage, sqlLanguage,
standardKeymap, standardKeymap,
StreamLanguage, StreamLanguage,
syntaxHighlighting, syntaxHighlighting,
syntaxTree, syntaxTree,
tomlLanguage,
typescriptLanguage, typescriptLanguage,
ViewPlugin, ViewPlugin,
ViewUpdate, ViewUpdate,
xmlLanguage,
yamlLanguage, yamlLanguage,
} from "../common/deps.ts"; } from "../common/deps.ts";
import { SilverBulletHooks } from "../common/manifest.ts"; import { SilverBulletHooks } from "../common/manifest.ts";
@ -526,6 +543,117 @@ export class Editor {
alias: ["sql"], alias: ["sql"],
support: new LanguageSupport(StreamLanguage.define(sqlLanguage)), support: new LanguageSupport(StreamLanguage.define(sqlLanguage)),
}), }),
LanguageDescription.of({
name: "postgresql",
alias: ["pgsql", "postgres"],
support: new LanguageSupport(
StreamLanguage.define(postgresqlLanguage),
),
}),
LanguageDescription.of({
name: "rust",
alias: ["rs"],
support: new LanguageSupport(StreamLanguage.define(rustLanguage)),
}),
LanguageDescription.of({
name: "css",
support: new LanguageSupport(StreamLanguage.define(sqlLanguage)),
}),
LanguageDescription.of({
name: "python",
alias: ["py"],
support: new LanguageSupport(
StreamLanguage.define(pythonLanguage),
),
}),
LanguageDescription.of({
name: "protobuf",
alias: ["proto"],
support: new LanguageSupport(
StreamLanguage.define(protobufLanguage),
),
}),
LanguageDescription.of({
name: "shell",
alias: ["sh", "bash", "zsh", "fish"],
support: new LanguageSupport(
StreamLanguage.define(shellLanguage),
),
}),
LanguageDescription.of({
name: "swift",
support: new LanguageSupport(StreamLanguage.define(rustLanguage)),
}),
LanguageDescription.of({
name: "toml",
support: new LanguageSupport(StreamLanguage.define(tomlLanguage)),
}),
LanguageDescription.of({
name: "json",
support: new LanguageSupport(StreamLanguage.define(jsonLanguage)),
}),
LanguageDescription.of({
name: "xml",
support: new LanguageSupport(StreamLanguage.define(xmlLanguage)),
}),
LanguageDescription.of({
name: "c",
support: new LanguageSupport(StreamLanguage.define(cLanguage)),
}),
LanguageDescription.of({
name: "cpp",
alias: ["c++", "cxx"],
support: new LanguageSupport(StreamLanguage.define(cppLanguage)),
}),
LanguageDescription.of({
name: "java",
support: new LanguageSupport(StreamLanguage.define(javaLanguage)),
}),
LanguageDescription.of({
name: "csharp",
alias: ["c#", "cs"],
support: new LanguageSupport(
StreamLanguage.define(csharpLanguage),
),
}),
LanguageDescription.of({
name: "scala",
alias: ["sc"],
support: new LanguageSupport(
StreamLanguage.define(scalaLanguage),
),
}),
LanguageDescription.of({
name: "kotlin",
alias: ["kt", "kts"],
support: new LanguageSupport(
StreamLanguage.define(kotlinLanguage),
),
}),
LanguageDescription.of({
name: "objc",
alias: ["objective-c", "objectivec"],
support: new LanguageSupport(
StreamLanguage.define(objectiveCLanguage),
),
}),
LanguageDescription.of({
name: "objcpp",
alias: [
"objc++",
"objective-cpp",
"objectivecpp",
"objective-c++",
"objectivec++",
],
support: new LanguageSupport(
StreamLanguage.define(objectiveCppLanguage),
),
}),
LanguageDescription.of({
name: "dart",
support: new LanguageSupport(StreamLanguage.define(dartLanguage)),
}),
], ],
addKeymap: true, addKeymap: true,
}), }),