Skip to content

Commit bc1ebf6

Browse files
committed
Add LSIF functionality and rename workspace.icn to file_handler.icn
1 parent 562e352 commit bc1ebf6

10 files changed

+645
-174
lines changed

uni/ulsp/Makefile

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ UFLAGS=-s -u
55

66
prog=ulsp
77

8-
SRC=launch-lsp.icn workspace.icn database.icn server.icn completion.icn signature.icn hover.icn \
9-
definition.icn jsonrpc.icn logger.icn
10-
OBJ=launch-lsp.u workspace.u database.u server.u completion.u signature.u hover.u definition.u \
11-
jsonrpc.u logger.u
8+
SRC=launch-lsp.icn file_handler.icn database.icn server.icn completion.icn signature.icn hover.icn \
9+
definition.icn jsonrpc.icn logger.icn lsif.icn
10+
OBJ=launch-lsp.u file_handler.u database.u server.u completion.u signature.u hover.u definition.u \
11+
jsonrpc.u logger.u lsif.u
1212

1313
export IPATH=$(UNI)/unidoc
1414

@@ -22,14 +22,14 @@ $(prog): $(OBJ)
2222
jsonrpc-test: jsonrpc-test.u jsonrpc.u
2323
$(UC) -o jsonrpc-test jsonrpc-test.u jsonrpc.u
2424

25-
launch-lsp.u:launch-lsp.icn workspace.u database.u server.u completion.u signature.u hover.u definition.u
25+
launch-lsp.u: launch-lsp.icn file_handler.u database.u server.u completion.u signature.u hover.u definition.u
2626

27-
server.u:server.icn database.u completion.u workspace.u signature.u hover.u definition.u jsonrpc.u logger.u
28-
hover.u:hover.icn signature.u
27+
server.u: server.icn database.u completion.u file_handler.u signature.u hover.u definition.u jsonrpc.u logger.u
28+
hover.u: hover.icn signature.u
2929
definition.u: definition.icn hover.u
3030

3131
zip:
3232
zip ulsp.zip Makefile *.icn
3333

3434
clean:
35-
$(RM) -f *.u $(prog) uniclass*
35+
$(RM) -f *.u $(prog) uniclass*

uni/ulsp/completion.icn

+34-34
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package ulsp
33
import json
44

55
class CompletionHandler(
6-
workspace,
6+
filehandler,
77
params
88
)
99

10-
method setVariables(new_workspace, new_params)
11-
workspace := new_workspace
10+
method setVariables(new_filehandler, new_params)
11+
filehandler := new_filehandler
1212
params := new_params
1313
end
1414

@@ -18,7 +18,7 @@ class CompletionHandler(
1818
line := params["position"]["line"] + 1
1919
character := params["position"]["character"] + 1
2020

21-
context := workspace.getContext(line, character)
21+
context := filehandler.getContext(line, character)
2222
desired_line := context.line
2323
_context := context.getCase()
2424

@@ -34,10 +34,10 @@ class CompletionHandler(
3434
results_table["items"] := []
3535
}
3636
"object" : {
37-
workspace.buildObjectCompletionItems(results_table, context.objectName)
37+
filehandler.buildObjectCompletionItems(results_table, context.objectName)
3838
}
3939
"packdualcolon" : {
40-
workspace.buildPackageConstructorItems(results_table, context.packageName)
40+
filehandler.buildPackageConstructorItems(results_table, context.packageName)
4141
}
4242
"package" : {
4343
addPackageCompletionItems(results_table)
@@ -46,7 +46,7 @@ class CompletionHandler(
4646
addFileCompletionItems(results_table)
4747
}
4848
default : {
49-
buildDefaultCompletionItems(results_table, workspace)
49+
buildDefaultCompletionItems(results_table, filehandler)
5050
}
5151
}
5252

@@ -55,115 +55,115 @@ class CompletionHandler(
5555

5656
method addBuiltInFunctionsCompletionItems(results_table)
5757
local _function
58-
every _function := key(workspace.getBuiltInFunctions()) do {
58+
every _function := key(filehandler.getBuiltInFunctions()) do {
5959
put(results_table["items"], table("label", _function, "kind", 3))
6060
}
6161
end
6262

6363
method addActionWordsCompletionItems(results_table)
6464
local _actionWord
65-
every _actionWord := !workspace.getActionWords() do {
65+
every _actionWord := !filehandler.getActionWords() do {
6666
put(results_table["items"], table("label", _actionWord))
6767
}
6868
end
6969

7070
method addDeclarativeExpressionsCompletionItems(results_table)
7171
local _declarativeExpression
72-
every _declarativeExpression := !workspace.getDeclarativeExpressions() do {
72+
every _declarativeExpression := !filehandler.getDeclarativeExpressions() do {
7373
put(results_table["items"], table("label", _declarativeExpression))
7474
}
7575
end
7676

7777
method addSyntaxReservedWordsCompletionItems(results_table)
7878
local _syntaxReservedWord
79-
every _syntaxReservedWord := !workspace.getSyntaxReservedWords() do {
79+
every _syntaxReservedWord := !filehandler.getSyntaxReservedWords() do {
8080
put(results_table["items"], table("label", _syntaxReservedWord))
8181
}
8282
end
8383

8484
method addKeywordsCompletionItems(results_table)
8585
local _keyword
86-
every _keyword := !workspace.getKeywords() do {
86+
every _keyword := !filehandler.getKeywords() do {
8787
put(results_table["items"], table("label", _keyword, "kind", 14))
8888
}
8989
end
9090

9191
method addPreprocessorCompletionItems(results_table)
9292
local _preprocessor
93-
every _preprocessor := !workspace.getPreprocessors() do {
93+
every _preprocessor := !filehandler.getPreprocessors() do {
9494
put(results_table["items"], table("label", _preprocessor))
9595
}
9696
end
9797

98-
method addWorkspaceProcedures(results_table, workspace)
98+
method addFileHandlerProcedures(results_table, filehandler)
9999
local _internalProcedure, _linkedProcedure, _importedProcedure, _packageProcedure
100-
every _internalProcedure := key(workspace.getInternalProcedures()) do {
100+
every _internalProcedure := key(filehandler.getInternalProcedures()) do {
101101
put(results_table["items"], table("label", _internalProcedure, "kind", 3))
102102
}
103-
every _linkedProcedure := key(workspace.getLinkedProcedures()) do {
103+
every _linkedProcedure := key(filehandler.getLinkedProcedures()) do {
104104
put(results_table["items"], table("label", _linkedProcedure, "kind", 3))
105105
}
106-
every _importedProcedure := key(workspace.getImportedProcedures()) do {
106+
every _importedProcedure := key(filehandler.getImportedProcedures()) do {
107107
put(results_table["items"], table("label", _importedProcedure, "kind", 3))
108108
}
109-
every _packageProcedure := key(workspace.getPackageProcedures()) do {
109+
every _packageProcedure := key(filehandler.getPackageProcedures()) do {
110110
put(results_table["items"], table("label", _packageProcedure, "kind", 3))
111111
}
112112
end
113113

114-
method addWordspaceClasses(results_table, workspace)
114+
method addWordspaceClasses(results_table, filehandler)
115115
local _internalClass, _linkedClass, _importedClass, _packageClass
116-
every _internalClass := key(workspace.getInternalClasses()) do {
116+
every _internalClass := key(filehandler.getInternalClasses()) do {
117117
put(results_table["items"], table("label", _internalClass, "kind", 4))
118118
}
119-
every _linkedClass := key(workspace.getLinkedClasses()) do {
119+
every _linkedClass := key(filehandler.getLinkedClasses()) do {
120120
put(results_table["items"], table("label", _linkedClass, "kind", 4))
121121
}
122-
every _importedClass := key(workspace.getImportedClasses()) do {
122+
every _importedClass := key(filehandler.getImportedClasses()) do {
123123
put(results_table["items"], table("label", _importedClass, "kind", 4))
124124
}
125-
every _packageClass := key(workspace.getPackageClasses()) do {
125+
every _packageClass := key(filehandler.getPackageClasses()) do {
126126
put(results_table["items"], table("label", _packageClass, "kind", 4))
127127
}
128128
end
129129

130-
method addInternalObjects(results_table, workspace)
130+
method addInternalObjects(results_table, filehandler)
131131
local _object
132-
every _object := key(workspace.getObjects()) do {
132+
every _object := key(filehandler.getObjects()) do {
133133
put(results_table["items"], table("label", _object, "kind", 6))
134134
}
135135
end
136136

137-
method addInternalVariables(results_table, workspace)
137+
method addInternalVariables(results_table, filehandler)
138138
local _variable
139-
every _variable := key(workspace.getVariables()) do {
139+
every _variable := key(filehandler.getVariables()) do {
140140
put(results_table["items"], table("label", _variable, "kind", 6))
141141
}
142142
end
143143

144-
method buildDefaultCompletionItems(results_table, workspace)
144+
method buildDefaultCompletionItems(results_table, filehandler)
145145
addActionWordsCompletionItems(results_table)
146146
addBuiltInFunctionsCompletionItems(results_table)
147147
addDeclarativeExpressionsCompletionItems(results_table)
148148
addKeywordsCompletionItems(results_table)
149149
addPreprocessorCompletionItems(results_table)
150150
addSyntaxReservedWordsCompletionItems(results_table)
151-
addWordspaceClasses(results_table, workspace)
152-
addWorkspaceProcedures(results_table, workspace)
153-
addInternalObjects(results_table, workspace)
154-
addInternalVariables(results_table, workspace)
151+
addWordspaceClasses(results_table, filehandler)
152+
addFileHandlerProcedures(results_table, filehandler)
153+
addInternalObjects(results_table, filehandler)
154+
addInternalVariables(results_table, filehandler)
155155
end
156156

157157
method addFileCompletionItems(results_table)
158158
local _file
159-
every _file := !workspace.getFileNames() do {
159+
every _file := !filehandler.getFileNames() do {
160160
put(results_table["items"], table("label", _file, "kind", 17))
161161
}
162162
end
163163

164164
method addPackageCompletionItems(results_table)
165165
local _package
166-
every _package := key(workspace.getPackages()) do {
166+
every _package := key(filehandler.getPackages()) do {
167167
if _package === "(main)" then next
168168
put(results_table["items"], table("label", _package, "kind", 12))
169169
}

0 commit comments

Comments
 (0)