aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2022-08-30 02:22:24 +0200
committerDaniel Gavin <danielgavin5@hotmail.com>2022-08-30 02:22:24 +0200
commit1865f608c4b0ecb510221fc200e729458756ce98 (patch)
treecc26d5a873fc57588d50297786a867d3180d4065 /src
parent669fa88cc4213902ecbf24d3e111293ed9858e00 (diff)
Add intrinsics builtin to ols
Diffstat (limited to 'src')
-rw-r--r--src/main.odin2
-rw-r--r--src/server/collector.odin10
-rw-r--r--src/server/requests.odin2
3 files changed, 11 insertions, 3 deletions
diff --git a/src/main.odin b/src/main.odin
index b685147..3842c58 100644
--- a/src/main.odin
+++ b/src/main.odin
@@ -61,8 +61,6 @@ run :: proc(reader: ^server.Reader, writer: ^server.Writer) {
server.thread_request_main,
)
- server.setup_index()
-
for common.config.running {
if common.config.verbose {
logger = server.create_lsp_logger(writer, log.Level.Info)
diff --git a/src/server/collector.odin b/src/server/collector.odin
index 5cea81f..46ff226 100644
--- a/src/server/collector.odin
+++ b/src/server/collector.odin
@@ -542,7 +542,15 @@ collect_symbols :: proc(
if expr.builtin || strings.contains(uri, "builtin.odin") {
symbol.pkg = "$builtin"
} else if strings.contains(uri, "intrinsics.odin") {
- symbol.pkg = "$intrinsics"
+ path := filepath.join(
+ elems = {common.config.collections["core"], "/intrinsics"},
+ allocator = context.temp_allocator,
+ )
+
+ path, _ = filepath.to_slash(path, context.temp_allocator)
+
+ symbol.pkg = get_index_unique_string(collection, path)
+ log.error(symbol.pkg)
} else {
symbol.pkg = get_index_unique_string(collection, directory)
}
diff --git a/src/server/requests.odin b/src/server/requests.odin
index 3c31014..2180c18 100644
--- a/src/server/requests.odin
+++ b/src/server/requests.odin
@@ -654,6 +654,8 @@ request_initialize :: proc(
append(&indexer.builtin_packages, path.join({core, "runtime"}))
}
+ setup_index()
+
for pkg in indexer.builtin_packages {
try_build_package(pkg)
}