Skip to content

Commit

Permalink
feat: getNavigationBarItems
Browse files Browse the repository at this point in the history
  • Loading branch information
Saber2pr committed Sep 11, 2022
1 parent c1347e9 commit 0f37afd
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/core/createEditor.ts
Expand Up @@ -211,6 +211,9 @@ export async function createEditor(
const addModuleDeclaration = (url: string, moduleName?: string) =>
ts.addModuleDeclaration(monaco, url, moduleName)

const getNavigationBarItems = (uri?: InstanceType<IMonaco['Uri']>) =>
ts.getNavigationBarItems(monaco, uri || getModel()?.uri)

return {
monaco,
setValue,
Expand All @@ -236,6 +239,7 @@ export async function createEditor(
compileTS,
updateCompilerOptions,
addModuleDeclaration,
getNavigationBarItems,
}
}

Expand Down
11 changes: 11 additions & 0 deletions src/core/typescript.ts
Expand Up @@ -6,6 +6,7 @@
*/
import { getReferencePaths, resolvePath } from '../utils'
import { CompilerOptions, IMonaco } from './monaco'
import type typescript from 'typescript'

export const getTypescriptDefaults = (monaco: IMonaco) =>
monaco.languages.typescript.typescriptDefaults
Expand Down Expand Up @@ -43,6 +44,16 @@ export const compileTS = async (
}
}

export const getNavigationBarItems = async (
monaco: IMonaco,
uri: InstanceType<IMonaco['Uri']>
): Promise<typescript.NavigationBarItem[]> => {
const tsWorker = await monaco.languages.typescript.getTypeScriptWorker()
const client = await tsWorker(uri)
const fileName = uri.toString()
return client.getNavigationBarItems(fileName)
}

export const updateCompilerOptions = (
monaco: IMonaco,
options: CompilerOptions
Expand Down

0 comments on commit 0f37afd

Please sign in to comment.