* codemirror side Signed-off-by: Jess Frazelle <github@jessfraz.com> * codemirror actions Signed-off-by: Jess Frazelle <github@jessfraz.com> * codemirror actions Signed-off-by: Jess Frazelle <github@jessfraz.com> * code mirror now shows lint suggestions Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix hanging params with test Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates for signature help Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix clone Signed-off-by: Jess Frazelle <github@jessfraz.com> * add tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * add tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * Update packages/codemirror-lsp-client/src/plugin/lsp.ts Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * z-index Signed-off-by: Jess Frazelle <github@jessfraz.com> * playwright tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
33 lines
875 B
TypeScript
33 lines
875 B
TypeScript
import type { Extension } from '@codemirror/state'
|
|
import { Prec } from '@codemirror/state'
|
|
import type { ViewPlugin } from '@codemirror/view'
|
|
import { keymap } from '@codemirror/view'
|
|
|
|
import type { LanguageServerPlugin } from './lsp'
|
|
import { offsetToPos } from './util'
|
|
|
|
export default function lspRenameExt(
|
|
plugin: ViewPlugin<LanguageServerPlugin>
|
|
): Extension {
|
|
return [
|
|
Prec.highest(
|
|
keymap.of([
|
|
{
|
|
key: 'F2',
|
|
run: (view) => {
|
|
if (!plugin) return false
|
|
|
|
const value = view.plugin(plugin)
|
|
if (!value) return false
|
|
|
|
const pos = view.state.selection.main.head
|
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
value.requestRename(view, offsetToPos(view.state.doc, pos))
|
|
return true
|
|
},
|
|
},
|
|
])
|
|
),
|
|
]
|
|
}
|