Skip to content

Commit 0862775

Browse files
committed
Fix build, move LintItem defn, change literal to constant kCodeViewGetDiagnostics
1 parent 9e52235 commit 0862775

File tree

10 files changed

+40
-42
lines changed

10 files changed

+40
-42
lines changed

apps/lsp/src/custom.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ import { LspConnection, registerLspServerMethods } from "core-node";
2828
import { userDictionaryDir, Document } from "quarto-core";
2929
import { CompletionList } from "vscode-languageserver-types";
3030
import { Hover, Position, TextDocuments } from "vscode-languageserver";
31-
import { CodeViewCellContext, CodeViewCompletionContext, kCodeViewAssist, kCodeViewGetCompletions } from "editor-types";
31+
import { CodeViewCellContext, CodeViewCompletionContext, kCodeViewAssist, kCodeViewGetDiagnostics, kCodeViewGetCompletions, LintItem } from "editor-types";
3232
import { yamlCompletions } from "./service/providers/completion/completion-yaml";
3333
import { yamlHover } from "./service/providers/hover/hover-yaml";
34-
import { EditorContext, LintItem, Quarto, codeEditorContext } from "./service/quarto";
34+
import { EditorContext, Quarto, codeEditorContext } from "./service/quarto";
3535

3636
export function registerCustomMethods(
3737
quarto: Quarto,
@@ -63,11 +63,11 @@ export function registerCustomMethods(
6363
// we have the yaml hover and completions here so provide entry points for them
6464
[kCodeViewAssist]: args => codeViewAssist(quarto, args[0]),
6565
[kCodeViewGetCompletions]: args => codeViewCompletions(quarto, args[0]),
66-
'codeViewGetDiagnostics': args => codeViewDiagnostics(quarto, args[0])
66+
[kCodeViewGetDiagnostics]: args => codeViewDiagnostics(quarto, args[0])
6767
});
6868
}
6969

70-
async function codeViewDiagnostics(quarto: Quarto, context: CodeViewCellContext) {
70+
async function codeViewDiagnostics(quarto: Quarto, context: CodeViewCellContext): Promise<LintItem[] | undefined> {
7171
const edContext = codeEditorContext(
7272
context.filepath,
7373
context.language == "yaml" ? "yaml" : "script",

apps/lsp/src/quarto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ import {
3535
CompletionResult,
3636
EditorContext,
3737
HoverResult,
38-
LintItem,
3938
AttrContext,
4039
AttrToken,
4140
kContextDiv,
4241
kContextDivSimple
4342
} from "./service/quarto";
43+
import { LintItem } from "editor-types";
4444

4545
export async function initializeQuarto(context: QuartoContext): Promise<Quarto> {
4646
const quartoModule = await initializeQuartoYamlModule(context.resourcePath) as QuartoYamlModule;

apps/lsp/src/service/providers/diagnostics-yaml.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,10 @@ import {
2424
import { Document } from "quarto-core";
2525

2626
import {
27-
kEndColumn,
28-
kEndRow,
29-
kStartColumn,
30-
kStartRow,
31-
LintItem,
3227
Quarto,
3328
docEditorContext
3429
} from "../quarto";
30+
import { kEndColumn, kEndRow, kStartColumn, kStartRow, LintItem } from "editor-types";
3531

3632
export async function provideYamlDiagnostics(
3733
quarto: Quarto,

apps/lsp/src/service/quarto.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,7 @@ import { CompletionItem, Position } from "vscode-languageserver-types";
1818
import { QuartoContext, Document, filePathForDoc, isQuartoDoc, isQuartoRevealDoc, isQuartoYaml, isQuartoDashboardDoc } from "quarto-core";
1919

2020
import { lines } from "core";
21-
22-
23-
export const kStartRow = "start.row";
24-
export const kStartColumn = "start.column";
25-
export const kEndRow = "end.row";
26-
export const kEndColumn = "end.column";
27-
28-
export interface LintItem {
29-
[kStartRow]: number;
30-
[kStartColumn]: number;
31-
[kEndRow]: number;
32-
[kEndColumn]: number;
33-
text: string;
34-
type: string;
35-
}
21+
import { LintItem } from "editor-types";
3622

3723
export interface CompletionResult {
3824
token: string;

apps/vscode/src/providers/editor/codeview.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ import {
4343
CodeViewServer,
4444
DiagramState,
4545
kCodeViewGetCompletions,
46+
kCodeViewGetDiagnostics,
47+
LintItem
4648
} from "editor-types";
4749

4850
import { hasHooks } from "../../host/hooks";
@@ -73,10 +75,10 @@ export function vscodeCodeViewServer(_engine: MarkdownEngine, document: TextDocu
7375
break;
7476
}
7577
},
76-
async codeViewDiagnostics(context: CodeViewCellContext): Promise<any> {
78+
async codeViewDiagnostics(context: CodeViewCellContext): Promise<LintItem[] | undefined> {
7779
// if this is yaml then call the lsp directly
7880
if (context.language === "yaml") {
79-
return lspRequest('codeViewGetDiagnostics', [context]);
81+
return lspRequest(kCodeViewGetDiagnostics, [context]);
8082
}
8183
},
8284
async codeViewCompletions(context: CodeViewCompletionContext): Promise<CompletionList> {

packages/editor-codemirror/src/behaviors/completion.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import md from "markdown-it";
4242

4343
import { editorLanguage } from "editor-core";
4444

45-
import { CodeViewCompletionContext, codeViewCompletionContext } from "editor";
45+
import { CodeViewCompletionContext, codeViewCompletionContext, LintItem } from "editor";
4646

4747
import { Behavior, BehaviorContext } from ".";
4848
import { escapeRegExpCharacters } from "core";
@@ -109,15 +109,11 @@ async function getDiagnostics(
109109
context: CompletionContext,
110110
cvContext: CodeViewCompletionContext,
111111
behaviorContext: BehaviorContext
112-
): Promise<any> {
113-
112+
): Promise<LintItem[] | undefined> {
114113
const diagnostics = await behaviorContext.pmContext.ui.codeview?.codeViewDiagnostics(cvContext);
115-
if (context.aborted || !diagnostics) {
116-
console.log('DEBUG FAILED DIAGNOSTICS!', diagnostics)
117-
return null;
118-
}
119-
console.log('DEBUG GOT DIAGNOSTICS!', diagnostics)
120-
return diagnostics
114+
if (context.aborted || !diagnostics) return undefined;
115+
116+
return diagnostics;
121117
}
122118

123119
async function getCompletions(

packages/editor-core/src/services.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import {
4848
CodeViewActiveBlockContext,
4949
DiagramState,
5050
CodeViewCellContext,
51-
51+
kCodeViewGetDiagnostics
5252
} from "editor-types";
5353

5454

@@ -88,7 +88,7 @@ export function editorCodeViewJsonRpcServer(request: JsonRpcRequestTransport): C
8888
return request(kCodeViewExecute, [execute, context]);
8989
},
9090
codeViewDiagnostics(context: CodeViewCellContext) {
91-
return request('codeViewGetDiagnostics', [context])
91+
return request(kCodeViewGetDiagnostics, [context])
9292
},
9393
codeViewCompletions(context: CodeViewCompletionContext) {
9494
return request(kCodeViewGetCompletions, [context]);

packages/editor-server/src/services/codeview.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
kCodeViewExecute,
2222
kCodeViewPreviewDiagram,
2323
kCodeViewAssist,
24+
kCodeViewGetDiagnostics
2425
} from "editor-types";
2526

2627

@@ -30,7 +31,7 @@ export function codeViewServerMethods(server: CodeViewServer): Record<string, Js
3031
[kCodeViewAssist]: args => server.codeViewAssist(args[0]),
3132
[kCodeViewExecute]: args => server.codeViewExecute(args[0], args[1]),
3233
[kCodeViewGetCompletions]: args => server.codeViewCompletions(args[0]),
33-
'codeViewGetDiagnostics': args => server.codeViewDiagnostics(args[0]),
34+
[kCodeViewGetDiagnostics]: args => server.codeViewDiagnostics(args[0]),
3435
[kCodeViewPreviewDiagram]: args => server.codeViewPreviewDiagram(args[0], args[1])
3536
}
3637
return methods;

packages/editor-types/src/codeview.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const kCodeViewAssist = 'code_view_assist';
2020
export const kCodeViewGetCompletions = 'code_view_get_completions';
2121
export const kCodeViewExecute = 'code_view_execute';
2222
export const kCodeViewPreviewDiagram = 'code_view_preview_diagram';
23+
export const kCodeViewGetDiagnostics = 'code_view_get_diagnostics';
2324

2425
export type CodeViewExecute = "selection" | "cell" | "cell+advance" | "above" | "below";
2526

@@ -41,14 +42,29 @@ export interface CodeViewCellContext {
4142
selection: Range;
4243
}
4344

45+
// copy&pasted these from `apps/lsp/src/service/quarto.ts`
46+
// is there a way to import from there?
47+
export const kStartRow = "start.row";
48+
export const kStartColumn = "start.column";
49+
export const kEndRow = "end.row";
50+
export const kEndColumn = "end.column";
51+
export interface LintItem {
52+
[kStartRow]: number;
53+
[kStartColumn]: number;
54+
[kEndRow]: number;
55+
[kEndColumn]: number;
56+
text: string;
57+
type: string;
58+
}
59+
4460
export interface CodeViewCompletionContext extends CodeViewCellContext {
4561
explicit: boolean;
4662
}
4763

4864
export interface CodeViewServer {
4965
codeViewAssist: (contxt: CodeViewCellContext) => Promise<void>;
5066
codeViewExecute: (execute: CodeViewExecute, context: CodeViewActiveBlockContext) => Promise<void>;
51-
codeViewDiagnostics: (context: CodeViewCellContext) => Promise<any>;
67+
codeViewDiagnostics: (context: CodeViewCellContext) => Promise<LintItem[] | undefined>;
5268
codeViewCompletions: (context: CodeViewCompletionContext) => Promise<CompletionList>;
5369
codeViewPreviewDiagram: (state: DiagramState, activate: boolean) => Promise<void>;
5470
}

packages/editor/src/api/ui-types.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ import {
2626
CodeViewExecute,
2727
CodeViewActiveBlockContext,
2828
DiagramState,
29-
CodeViewCellContext
29+
CodeViewCellContext,
30+
LintItem
3031
} from 'editor-types';
3132

3233
export * from './spelling';
@@ -133,7 +134,7 @@ export interface EditorUICodeView {
133134
codeViewAssist: (context: CodeViewCellContext) => Promise<void>;
134135
codeViewExecute: (execute: CodeViewExecute, context: CodeViewActiveBlockContext) => Promise<void>;
135136
codeViewCompletions: (context: CodeViewCompletionContext) => Promise<CompletionList>;
136-
codeViewDiagnostics: (context: CodeViewCompletionContext) => Promise<any>;
137+
codeViewDiagnostics: (context: CodeViewCompletionContext) => Promise<LintItem[] | undefined>;
137138
codeViewPreviewDiagram: (state: DiagramState, activate: boolean) => Promise<void>;
138139
}
139140

0 commit comments

Comments
 (0)