Add Language Data's Comment Tokens to Support Toggle Commenting Shortcuts in the Editor (#809)
Add Language Data's Comment Tokens to Support Toggle Comment Shortcuts Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
This commit is contained in:
@ -9,6 +9,7 @@ import { LanguageServerClient } from '.'
|
|||||||
import { kclPlugin } from './plugin'
|
import { kclPlugin } from './plugin'
|
||||||
import type * as LSP from 'vscode-languageserver-protocol'
|
import type * as LSP from 'vscode-languageserver-protocol'
|
||||||
import { parser as jsParser } from '@lezer/javascript'
|
import { parser as jsParser } from '@lezer/javascript'
|
||||||
|
import { EditorState } from '@uiw/react-codemirror'
|
||||||
|
|
||||||
const data = defineLanguageFacet({})
|
const data = defineLanguageFacet({})
|
||||||
|
|
||||||
@ -22,7 +23,25 @@ export default function kclLanguage(options: LanguageOptions): LanguageSupport {
|
|||||||
// For now let's use the javascript parser.
|
// For now let's use the javascript parser.
|
||||||
// It works really well and has good syntax highlighting.
|
// It works really well and has good syntax highlighting.
|
||||||
// We can use our lsp for the rest.
|
// We can use our lsp for the rest.
|
||||||
const lang = new Language(data, jsParser, [], 'kcl')
|
const lang = new Language(
|
||||||
|
data,
|
||||||
|
jsParser,
|
||||||
|
[
|
||||||
|
EditorState.languageData.of(() => [
|
||||||
|
{
|
||||||
|
// https://codemirror.net/docs/ref/#commands.CommentTokens
|
||||||
|
commentTokens: {
|
||||||
|
line: '//',
|
||||||
|
block: {
|
||||||
|
open: '/*',
|
||||||
|
close: '*/',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
'kcl'
|
||||||
|
)
|
||||||
|
|
||||||
// Create our supporting extension.
|
// Create our supporting extension.
|
||||||
const kclLsp = kclPlugin({
|
const kclLsp = kclPlugin({
|
||||||
|
Reference in New Issue
Block a user