Skip to content

Commit

Permalink
Added configurable assistant language
Browse files Browse the repository at this point in the history
  • Loading branch information
codemakerai-dev committed Jul 1, 2024
1 parent 3956f0a commit f17346b
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 13 deletions.
38 changes: 29 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,42 +82,62 @@
"type": "boolean",
"default": false,
"order": 3
},
"codemaker.assistantLanguage": {
"description": "Assistant language.",
"type": "string",
"default": "default",
"enum": [
"default",
"EN",
"ES",
"PT",
"JP",
"VI",
"TR",
"KO",
"DE",
"FR",
"PL",
"ZN"
],
"order": 4
},
"codemaker.enableAssistantActions": {
"description": "Enable assistant contextual operations.",
"type": "boolean",
"default": true,
"order": 4
"order": 5
},
"codemaker.enableAssistantCodeLens": {
"description": "Enable assistant code lens.",
"type": "boolean",
"default": true,
"order": 5
"order": 6
},
"codemaker.allowLocalContext": {
"description": "Allow local context search.",
"type": "boolean",
"default": false,
"order": 6
"order": 7
},
"codemaker.enableCodeActions": {
"description": "Enable code actions",
"type": "boolean",
"default": true,
"order": 7
"order": 8
},
"codemaker.enablePredictiveGeneration": {
"description": "Enable predictive generation",
"type": "boolean",
"default": false,
"order": 8
"order": 9
},
"codemaker.enableExtendedSourceContext": {
"description": "Enable extended source context",
"type": "boolean",
"default": false,
"order": 9
"order": 10
},
"codemaker.extendedSourceContextDepth": {
"description": "Extended source context maximum depth",
Expand All @@ -128,18 +148,18 @@
2,
3
],
"order": 10
"order": 11
},
"codemaker.enableSyntaxAutocorrection": {
"description": "Enable syntax autocorrection",
"type": "boolean",
"default": false,
"order": 11
"order": 12
},
"codemaker.endpoint": {
"markdownDescription": "CodeMaker AI Endpoint.",
"type": "string",
"order": 12
"order": 13
}
}
},
Expand Down
9 changes: 9 additions & 0 deletions src/configuration/configuration.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright 2023 CodeMaker AI Inc. All rights reserved.

import { LanguageCode } from 'codemaker-sdk';
import * as vscode from 'vscode';

export class Configuration {
Expand Down Expand Up @@ -48,6 +49,14 @@ export class Configuration {
return this.get('codemaker.extendedSourceContextDepth');
}

static assistantLanguage(): LanguageCode | undefined {
const language = this.get<string>('codemaker.assistantLanguage');
if (language === "default") {
return undefined;
}
return language as LanguageCode;
}

static isAssistantActionsEnabled(): boolean {
return this.get('codemaker.enableAssistantActions');
}
Expand Down
12 changes: 8 additions & 4 deletions src/service/codemakerService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import * as vscode from 'vscode';
import * as path from 'node:path';
import * as fs from 'node:fs';
import { TextDecoder, TextEncoder } from 'util';
import { ProcessRequest, CompletionRequest, PredictRequest, Language, Mode, Modify, DiscoverContextRequest, CreateContextRequest, RegisterContextRequest, SourceContext, DiscoverContextResponse, AssistantCodeCompletionRequest, AssistantCompletionRequest, AssistantSpeechRequest, Vote, RegisterAssistantFeedbackRequest } from 'codemaker-sdk';
import { ProcessRequest, CompletionRequest, PredictRequest, Language, Mode, Modify, DiscoverContextRequest, CreateContextRequest, RegisterContextRequest, SourceContext, DiscoverContextResponse, AssistantCodeCompletionRequest, AssistantCompletionRequest, AssistantSpeechRequest, Vote, RegisterAssistantFeedbackRequest, LanguageCode } from 'codemaker-sdk';
import { Configuration } from '../configuration/configuration';
import { languageFromFile, isFileSupported } from '../utils/languageUtils';
import { CodeSnippetContext } from 'codemaker-sdk';
Expand Down Expand Up @@ -95,7 +95,8 @@ class CodemakerService {
* @returns
*/
public async assistantCompletion(message: string) {
return this.getClient().assistantCompletion(this.createAssistantCompletionRequest(message));
const language = Configuration.assistantLanguage();
return this.getClient().assistantCompletion(this.createAssistantCompletionRequest(message, language));
}

/**
Expand Down Expand Up @@ -434,9 +435,12 @@ class CodemakerService {
};
}

private createAssistantCompletionRequest(message: string): AssistantCompletionRequest {
private createAssistantCompletionRequest(message: string, language?: LanguageCode): AssistantCompletionRequest {
return {
message
message,
options: {
language: language
}
};
}

Expand Down

0 comments on commit f17346b

Please sign in to comment.