Skip to content

Commit 9fc60ce

Browse files
committed
Improved checking of enablement for content assist
Signed-off-by: worksofliam <[email protected]>
1 parent e6316e4 commit 9fc60ce

File tree

4 files changed

+18
-10
lines changed

4 files changed

+18
-10
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1233,4 +1233,4 @@
12331233
}
12341234
]
12351235
}
1236-
}
1236+
}

src/language/providers/available.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
import { env } from "process";
3+
import { ServerComponent } from "../../connection/serverComponent";
4+
import { JobManager } from "../../config";
5+
6+
export function localAssistIsEnabled() {
7+
return (env.DB2I_DISABLE_CA !== `true`);
8+
}
9+
10+
export function remoteAssistIsEnabled() {
11+
return localAssistIsEnabled() && ServerComponent.isInstalled() && JobManager.getSelection() !== undefined;
12+
}

src/language/providers/completionProvider.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import { CTEReference, CallableReference, ClauseType, ObjectRef, StatementType }
1313
import CompletionItemCache, { changedCache } from "./completionItemCache";
1414
import Callable, { CallableType } from "../../database/callable";
1515
import { ServerComponent } from "../../connection/serverComponent";
16-
import { env } from "process";
1716
import { prepareParamType, createCompletionItem, getParmAttributes, completionItemCache } from "./completion";
1817
import { isCallableType, getCallableParameters } from "./callable";
1918
import { variable } from "sql-formatter/lib/src/lexer/regexFactory";
19+
import { localAssistIsEnabled, remoteAssistIsEnabled } from "./available";
2020

2121
export interface CompletionType {
2222
order: string;
@@ -59,10 +59,6 @@ const completionTypes: { [index: string]: CompletionType } = {
5959
};
6060

6161

62-
function isEnabled() {
63-
return (env.DB2I_DISABLE_CA !== `true`);
64-
}
65-
6662

6763
function getColumnAttributes(column: TableColumn): string {
6864
const lines: string[] = [
@@ -613,7 +609,7 @@ export const completionProvider = languages.registerCompletionItemProvider(
613609
`sql`,
614610
{
615611
async provideCompletionItems(document, position, token, context) {
616-
if (isEnabled()) {
612+
if (localAssistIsEnabled()) {
617613
const trigger = context.triggerCharacter;
618614
const content = document.getText();
619615
const offset = document.offsetAt(position);
@@ -627,7 +623,7 @@ export const completionProvider = languages.registerCompletionItemProvider(
627623
allItems.push(...getLocalDefs(sqlDoc, offset))
628624
}
629625

630-
if (ServerComponent.isInstalled() && currentStatement) {
626+
if (remoteAssistIsEnabled() && currentStatement) {
631627
allItems.push(...await getCompletionItems(trigger, currentStatement, offset))
632628
}
633629

src/language/providers/parameterProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import { getCachedSignatures, getCallableParameters, getPositionData, isCallable
55
import { getParmAttributes, prepareParamType } from "./completion";
66
import { CallableType } from "../../database/callable";
77
import { StatementType } from "../sql/types";
8-
import { ServerComponent } from "../../connection/serverComponent";
8+
import { remoteAssistIsEnabled } from "./available";
99

1010
export const signatureProvider = languages.registerSignatureHelpProvider({ language: `sql` }, {
1111
async provideSignatureHelp(document, position, token, context) {
1212
const content = document.getText();
1313
const offset = document.offsetAt(position);
1414

15-
if (ServerComponent.isInstalled()) {
15+
if (remoteAssistIsEnabled()) {
1616

1717
const sqlDoc = new Document(content);
1818
const currentStatement = sqlDoc.getStatementByOffset(offset);

0 commit comments

Comments
 (0)