Skip to content

Commit

Permalink
test success
Browse files Browse the repository at this point in the history
  • Loading branch information
xieguigang committed Nov 1, 2024
1 parent fc4e31b commit fe2ba3b
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 11 deletions.
2 changes: 2 additions & 0 deletions Editor/Rstudio.d.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
/// <reference path="vscode/monaco.d.ts" />
declare namespace rstudio {
function getCodeText(): string;
function create(): void;
function setup(): void;
}
declare namespace rstudio.intellisense {
function create_intellisense(model: monaco.editor.ITextModel, position: monaco.Position): any;
const r_keywords: string[];
}
declare namespace rstudio.tooltip {
function create_tooltip(model: monaco.editor.ITextModel, position: monaco.Position): any;
Expand Down
38 changes: 33 additions & 5 deletions Editor/Rstudio.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Editor/Rstudio.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 33 additions & 5 deletions Editor/rstudio/rstudio/intellisense.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,40 @@
namespace rstudio.intellisense {

export function create_intellisense(model: monaco.editor.ITextModel, position: monaco.Position): any {
var suggestions = [
{ label: 'hello', kind: monaco.languages.CompletionItemKind.Text, documentation: 'A greeting word' },
{ label: 'world', kind: monaco.languages.CompletionItemKind.Text, documentation: 'The planet we live on' }
];
let word = model.getWordUntilPosition(position);
let range = {
startLineNumber: position.lineNumber,
endLineNumber: position.lineNumber,
startColumn: word.startColumn,
endColumn: word.endColumn
};

return { suggestions: suggestions };
return {
suggestions: createDependencyProposals(range, word)
};
}

export const r_keywords = [
'c', 'require', 'library', 'if', 'for', 'list', 'str', 'print', 'return', 'function', 'let', 'const', 'imports', 'from'
];

function createDependencyProposals(range, curWord) {
// snippets的定义同上
// keys(泛指一切待补全的预定义词汇)的定义:
let keys = [];
let snippets = [];

for (const item of r_keywords) {
keys.push({
label: item,
kind: monaco.languages.CompletionItemKind.Keyword,
documentation: "",
insertText: item,
range: range
});
}

return snippets.concat(keys);
}
}

0 comments on commit fe2ba3b

Please sign in to comment.