Skip to content

Commit

Permalink
Use monaco-types
Browse files Browse the repository at this point in the history
  • Loading branch information
remcohaszing committed Aug 19, 2023
1 parent f59aced commit de4028a
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 7 deletions.
11 changes: 7 additions & 4 deletions index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { type IDisposable, languages } from 'monaco-editor/esm/vs/editor/editor.api.js'
import { registerMarkerDataProvider } from 'monaco-marker-data-provider'
import { type IDisposable, type MonacoEditor } from 'monaco-types'
import { createWorkerManager, type WorkerManagerOptions } from 'monaco-worker-manager'

import {
Expand Down Expand Up @@ -51,7 +51,7 @@ export interface MonacoUnified<Configuration> extends IDisposable {
* @returns A disposable
*/
export function configureMonacoUnified<Configuration>(
monaco: typeof import('monaco-editor'),
monaco: MonacoEditor,
options: MonacoUnifiedOptions<Configuration>
): MonacoUnified<Configuration> {
const workerManager = createWorkerManager<UnifiedWorker>(monaco, {
Expand All @@ -66,15 +66,18 @@ export function configureMonacoUnified<Configuration>(
const disposables: IDisposable[] = [workerManager]
if (options.formatting !== false) {
disposables.push(
languages.registerDocumentFormattingEditProvider(
monaco.languages.registerDocumentFormattingEditProvider(
options.languageSelector,
createDocumentFormattingProvider(workerManager.getWorker)
)
)
}
if (options.validation !== false) {
disposables.push(
languages.registerCodeActionProvider(options.languageSelector, createCodeActionProvider())
monaco.languages.registerCodeActionProvider(
options.languageSelector,
createCodeActionProvider()
)
)
markerDataProvider = registerMarkerDataProvider(
monaco,
Expand Down
4 changes: 2 additions & 2 deletions languageFeatures.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { type editor, type languages } from 'monaco-editor'
import { type MarkerDataProvider } from 'monaco-marker-data-provider'
import { type editor, type languages, type MonacoEditor } from 'monaco-types'
import { type WorkerGetter } from 'monaco-worker-manager'

import { type SerializableMarkerData, type UnifiedWorker } from './worker.js'
Expand All @@ -16,7 +16,7 @@ const messagesMap = new WeakMap<editor.ITextModel, SerializableMarkerData[]>()
* @returns A Monaco marker data provider
*/
export function createMarkerDataProvider(
{ Uri }: typeof import('monaco-editor'),
{ Uri }: MonacoEditor,
getWorker: GetWorker
): MarkerDataProvider {
return {
Expand Down
9 changes: 9 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"start": "npm --workspace demo start"
},
"dependencies": {
"monaco-types": "^0.1.0",
"monaco-marker-data-provider": "^1.0.0",
"monaco-worker-manager": "^2.0.0",
"unified": "^10.0.0",
Expand Down
2 changes: 1 addition & 1 deletion worker.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type editor } from 'monaco-editor'
import { type editor } from 'monaco-types'
import { initialize as initializeWorker } from 'monaco-worker-manager/worker'
import { type Processor } from 'unified'
import { VFile } from 'vfile'
Expand Down

0 comments on commit de4028a

Please sign in to comment.