stan-language-server 0.1.0 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/compiler.test.d.ts +1 -0
- package/dist/__tests__/handlers/compilation.test.d.ts +1 -0
- package/dist/__tests__/handlers/diagnostics.test.d.ts +1 -0
- package/dist/__tests__/handlers/formatting.test.d.ts +1 -0
- package/dist/__tests__/handlers/includes.test.d.ts +1 -0
- package/dist/__tests__/includes.test.d.ts +1 -0
- package/dist/__tests__/language/completion/providers/constraints.test.d.ts +1 -0
- package/dist/__tests__/language/completion/providers/datatypes.test.d.ts +1 -0
- package/dist/__tests__/language/completion/providers/distributions.test.d.ts +1 -0
- package/dist/__tests__/language/completion/providers/functions.test.d.ts +1 -0
- package/dist/__tests__/language/completion/providers/keywords.test.d.ts +1 -0
- package/dist/__tests__/language/completion/util.test.d.ts +1 -0
- package/dist/__tests__/language/diagnostics/linter.test.d.ts +1 -0
- package/dist/__tests__/language/formatting/integration.test.d.ts +1 -0
- package/dist/handlers/compilation/compilation.d.ts +4 -0
- package/dist/handlers/compilation/includes.d.ts +4 -0
- package/dist/handlers/completion.d.ts +3 -0
- package/dist/handlers/diagnostics.d.ts +3 -0
- package/dist/handlers/formatting.d.ts +4 -0
- package/dist/handlers/hover.d.ts +7 -0
- package/dist/handlers/index.d.ts +4 -0
- package/dist/language/completion/providers/constraints.d.ts +3 -0
- package/dist/language/completion/providers/datatypes.d.ts +3 -0
- package/dist/language/completion/providers/distributions.d.ts +2 -0
- package/dist/language/completion/providers/functions.d.ts +2 -0
- package/dist/language/completion/providers/keywords.d.ts +2 -0
- package/dist/language/completion/util.d.ts +4 -0
- package/dist/language/diagnostics/index.d.ts +2 -0
- package/dist/language/diagnostics/linter.d.ts +5 -0
- package/dist/language/diagnostics/provider.d.ts +3 -0
- package/dist/language/formatting/index.d.ts +1 -0
- package/dist/language/formatting/provider.d.ts +2 -0
- package/dist/language/hover/distributions.d.ts +1 -0
- package/dist/language/hover/functions.d.ts +1 -0
- package/dist/language/hover/index.d.ts +1 -0
- package/dist/language/hover/provider.d.ts +1 -0
- package/dist/language/hover/util.d.ts +4 -0
- package/dist/server/cli.d.ts +1 -0
- package/dist/{server.js → server/cli.js} +11 -11
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.js +89750 -0
- package/dist/stanc/compiler.d.ts +9 -0
- package/dist/stanc/includes.d.ts +10 -0
- package/dist/stanc/provider.d.ts +2 -0
- package/dist/stanc/stanc.d.ts +2 -0
- package/dist/types/common.d.ts +17 -0
- package/dist/types/completion.d.ts +15 -0
- package/dist/types/diagnostics.d.ts +18 -0
- package/dist/types/formatting.d.ts +26 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +11 -0
- package/package.json +17 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
2
|
+
import type { TextDocuments, WorkspaceFolder, RemoteConsole } from "vscode-languageserver";
|
|
3
|
+
import type { StancReturn } from "../../types/common";
|
|
4
|
+
export declare function handleCompilation(document: TextDocument, documentManager: TextDocuments<TextDocument>, workspaceFolders: WorkspaceFolder[], logger: RemoteConsole): Promise<StancReturn>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TextDocuments, WorkspaceFolder, type RemoteConsole } from "vscode-languageserver";
|
|
2
|
+
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
3
|
+
import { type Filename, type FileContent } from "../../stanc/includes";
|
|
4
|
+
export declare function handleIncludes(document: TextDocument, documentManager: TextDocuments<TextDocument>, workspaceFolders: WorkspaceFolder[], logger: RemoteConsole): Promise<Record<Filename, FileContent>>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type CompletionParams, TextDocuments, CompletionItem } from "vscode-languageserver";
|
|
2
|
+
import { TextDocument } from "vscode-languageserver-textdocument";
|
|
3
|
+
export declare function handleCompletion(params: CompletionParams, documents: TextDocuments<TextDocument>): CompletionItem[];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Diagnostic, TextDocuments, WorkspaceFolder, type DocumentDiagnosticParams, type RemoteConsole } from "vscode-languageserver";
|
|
2
|
+
import { TextDocument } from "vscode-languageserver-textdocument";
|
|
3
|
+
export declare function handleDiagnostics(params: DocumentDiagnosticParams, documents: TextDocuments<TextDocument>, workspaceFolders: WorkspaceFolder[], logger: RemoteConsole): Promise<Diagnostic[]>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DocumentFormattingParams, RemoteConsole, TextDocuments, TextEdit, WorkspaceFolder } from "vscode-languageserver";
|
|
2
|
+
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
3
|
+
export declare function handleFormatting(params: DocumentFormattingParams, documents: TextDocuments<TextDocument>, workspaceFolders: WorkspaceFolder[], logger: RemoteConsole): Promise<TextEdit[]>;
|
|
4
|
+
export declare function getFormattingErrors(params: DocumentFormattingParams, documents: TextDocuments<TextDocument>, workspaceFolders: WorkspaceFolder[], logger: RemoteConsole): Promise<string[]>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HoverParams, Hover, MarkupContent } from "vscode-languageserver";
|
|
2
|
+
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
3
|
+
type MarkupLookupMap = Map<string, MarkupContent>;
|
|
4
|
+
type GetMarkupLookupMapFn = () => MarkupLookupMap;
|
|
5
|
+
export declare const handleHover: (getMarkupLookupFn: GetMarkupLookupMapFn) => (document: TextDocument, params: HoverParams) => Promise<Hover | null>;
|
|
6
|
+
declare const _default: (document: TextDocument, params: HoverParams) => Promise<Hover | null>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import TrieSearch, { type TrieSearchOptions } from "trie-search";
|
|
2
|
+
import type { Searchable, Position } from "../../types/completion";
|
|
3
|
+
export declare const getSearchableItems: <T extends Searchable>(xs: T[], options?: TrieSearchOptions<T>) => TrieSearch<T>;
|
|
4
|
+
export declare const getTextUpToCursor: (text: string, position: Position) => string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Range } from "../../types/diagnostics";
|
|
2
|
+
declare function rangeFromMessage(message: string): Range | undefined;
|
|
3
|
+
declare function getWarningMessage(message: string): string;
|
|
4
|
+
declare function getErrorMessage(message: string): string;
|
|
5
|
+
export { rangeFromMessage, getWarningMessage, getErrorMessage };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { provideFormatting } from "./provider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const tryDistributionHover: (text: string, beginningOfWord: number, endOfWord: number) => string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const tryFunctionHover: (text: string, beginningOfWord: number, endOfWord: number) => string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { provideHover } from "./provider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function provideHover(text: string, beginningOfWord: number, endOfWord: number): string | null;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const isWordChar: (char: string) => boolean;
|
|
2
|
+
export declare const isWhitespace: (char: string) => char is " " | "\n" | "\t" | "\r";
|
|
3
|
+
export declare const previousWordBoundary: (text: string, pos: number) => number;
|
|
4
|
+
export declare const wordUntilNextParenthesis: (text: string, pos: number) => number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -88633,7 +88633,7 @@ You may be missing a "," between expressions, an operator, or a terminating "}",
|
|
|
88633
88633
|
})(globalThis);
|
|
88634
88634
|
});
|
|
88635
88635
|
|
|
88636
|
-
// src/server.ts
|
|
88636
|
+
// src/server/cli.ts
|
|
88637
88637
|
var import_node2 = __toESM(require_main4(), 1);
|
|
88638
88638
|
|
|
88639
88639
|
// node_modules/vscode-languageserver-textdocument/lib/esm/main.js
|
|
@@ -88860,7 +88860,7 @@ function getWellformedEdit(textEdit) {
|
|
|
88860
88860
|
return textEdit;
|
|
88861
88861
|
}
|
|
88862
88862
|
|
|
88863
|
-
// src/
|
|
88863
|
+
// src/server/index.ts
|
|
88864
88864
|
var import_node = __toESM(require_main4(), 1);
|
|
88865
88865
|
|
|
88866
88866
|
// src/handlers/completion.ts
|
|
@@ -89353,11 +89353,11 @@ var readIncludedFileFromFileSystem = async (filename, currentDir) => {
|
|
|
89353
89353
|
import { fileURLToPath as fileURLToPath3 } from "url";
|
|
89354
89354
|
var stancjs2 = require_stanc();
|
|
89355
89355
|
var stanc2 = stancjs2.stanc;
|
|
89356
|
-
async function handleCompilation(document, documentManager, workspaceFolders) {
|
|
89356
|
+
async function handleCompilation(document, documentManager, workspaceFolders, logger) {
|
|
89357
89357
|
const lineLength = 78;
|
|
89358
89358
|
const filename = fileURLToPath3(document.uri);
|
|
89359
89359
|
const code = document.getText();
|
|
89360
|
-
const includes = await handleIncludes(document, documentManager, workspaceFolders);
|
|
89360
|
+
const includes = await handleIncludes(document, documentManager, workspaceFolders, logger);
|
|
89361
89361
|
const stanc_args = [
|
|
89362
89362
|
"auto-format",
|
|
89363
89363
|
`filename-in-msg=${filename}`,
|
|
@@ -89406,12 +89406,12 @@ function domainSeverityToLspSeverity(domainSeverity) {
|
|
|
89406
89406
|
return import_vscode_languageserver2.DiagnosticSeverity.Error;
|
|
89407
89407
|
}
|
|
89408
89408
|
}
|
|
89409
|
-
async function handleDiagnostics(params, documents, workspaceFolders) {
|
|
89409
|
+
async function handleDiagnostics(params, documents, workspaceFolders, logger) {
|
|
89410
89410
|
const document = documents.get(params.textDocument.uri);
|
|
89411
89411
|
if (!document) {
|
|
89412
89412
|
return [];
|
|
89413
89413
|
}
|
|
89414
|
-
const compilerResult = await handleCompilation(document, documents, workspaceFolders);
|
|
89414
|
+
const compilerResult = await handleCompilation(document, documents, workspaceFolders, logger);
|
|
89415
89415
|
const stanDiagnostics = provideDiagnostics(compilerResult);
|
|
89416
89416
|
return stanDiagnostics.map(stanDiagnosticToLspDiagnostic);
|
|
89417
89417
|
}
|
|
@@ -89680,7 +89680,7 @@ async function getFormattingErrors(params, documents, workspaceFolders, logger)
|
|
|
89680
89680
|
const result = provideFormatting(context);
|
|
89681
89681
|
return result.errors || [];
|
|
89682
89682
|
}
|
|
89683
|
-
// src/
|
|
89683
|
+
// src/server/index.ts
|
|
89684
89684
|
var startLanguageServer = (connection) => {
|
|
89685
89685
|
connection.onInitialize((_params) => {
|
|
89686
89686
|
connection.console.info("Initializing Stan language server...");
|
|
@@ -89719,7 +89719,7 @@ var startLanguageServer = (connection) => {
|
|
|
89719
89719
|
const folders = await connection.workspace.getWorkspaceFolders() || [];
|
|
89720
89720
|
return {
|
|
89721
89721
|
kind: "full",
|
|
89722
|
-
items: await handleDiagnostics(params, documents, folders)
|
|
89722
|
+
items: await handleDiagnostics(params, documents, folders, connection.console)
|
|
89723
89723
|
};
|
|
89724
89724
|
});
|
|
89725
89725
|
connection.onDocumentFormatting(async (params) => {
|
|
@@ -89747,8 +89747,8 @@ var startLanguageServer = (connection) => {
|
|
|
89747
89747
|
documents.listen(connection);
|
|
89748
89748
|
connection.listen();
|
|
89749
89749
|
};
|
|
89750
|
-
var
|
|
89750
|
+
var server_default = startLanguageServer;
|
|
89751
89751
|
|
|
89752
|
-
// src/server.ts
|
|
89752
|
+
// src/server/cli.ts
|
|
89753
89753
|
var connection = import_node2.createConnection(process.stdin, process.stdout);
|
|
89754
|
-
|
|
89754
|
+
server_default(connection);
|