aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/angularls.lua
diff options
context:
space:
mode:
authorawy <awy@awy.one>2025-10-18 00:10:58 +0300
committerawy <awy@awy.one>2025-10-18 00:10:58 +0300
commitabf932d721142a35e01a57ab9187ca35896cb237 (patch)
tree2cce67586b1792f33fd703072673b2a0767b473e /.config/nvim/lsp/angularls.lua
parentde009fd679e10d053fdcc10785f91ad5317449ea (diff)
downloadhyprdots-abf932d721142a35e01a57ab9187ca35896cb237.tar.gz
revert
Diffstat (limited to '.config/nvim/lsp/angularls.lua')
-rw-r--r--.config/nvim/lsp/angularls.lua85
1 files changed, 0 insertions, 85 deletions
diff --git a/.config/nvim/lsp/angularls.lua b/.config/nvim/lsp/angularls.lua
deleted file mode 100644
index 80b9d11..0000000
--- a/.config/nvim/lsp/angularls.lua
+++ /dev/null
@@ -1,85 +0,0 @@
----@brief
----
---- https://github.com/angular/vscode-ng-language-service
---- `angular-language-server` can be installed via npm `npm install -g @angular/language-server`.
----
---- ```lua
---- local project_library_path = "/path/to/project/lib"
---- local cmd = {"ngserver", "--stdio", "--tsProbeLocations", project_library_path , "--ngProbeLocations", project_library_path}
----
---- vim.lsp.config('angularls', {
---- cmd = cmd,
---- })
---- ```
-
--- Angular requires a node_modules directory to probe for @angular/language-service and typescript
--- in order to use your projects configured versions.
-local root_dir = vim.fn.getcwd()
-local node_modules_dir = vim.fs.find('node_modules', { path = root_dir, upward = true })[1]
-local project_root = node_modules_dir and vim.fs.dirname(node_modules_dir) or '?'
-
-local function get_probe_dir()
- return project_root and (project_root .. '/node_modules') or ''
-end
-
-local function get_angular_core_version()
- if not project_root then
- return ''
- end
-
- local package_json = project_root .. '/package.json'
- if not vim.uv.fs_stat(package_json) then
- return ''
- end
-
- local contents = io.open(package_json):read '*a'
- local json = vim.json.decode(contents)
- if not json.dependencies then
- return ''
- end
-
- local angular_core_version = json.dependencies['@angular/core']
-
- angular_core_version = angular_core_version and angular_core_version:match('%d+%.%d+%.%d+')
-
- return angular_core_version
-end
-
-local default_probe_dir = get_probe_dir()
-local default_angular_core_version = get_angular_core_version()
-
--- structure should be like
--- - $EXTENSION_PATH
--- - @angular
--- - language-server
--- - bin
--- - ngserver
--- - typescript
-local ngserver_exe = vim.fn.exepath('ngserver')
-local ngserver_path = #(ngserver_exe or '') > 0 and vim.fs.dirname(vim.uv.fs_realpath(ngserver_exe)) or '?'
-local extension_path = vim.fs.normalize(vim.fs.joinpath(ngserver_path, '../../../'))
-
--- angularls will get module by `require.resolve(PROBE_PATH, MODULE_NAME)` of nodejs
-local ts_probe_dirs = vim.iter({ extension_path, default_probe_dir }):join(',')
-local ng_probe_dirs = vim
- .iter({ extension_path, default_probe_dir })
- :map(function(p)
- return vim.fs.joinpath(p, '/@angular/language-server/node_modules')
- end)
- :join(',')
-
----@type vim.lsp.Config
-return {
- cmd = {
- 'ngserver',
- '--stdio',
- '--tsProbeLocations',
- ts_probe_dirs,
- '--ngProbeLocations',
- ng_probe_dirs,
- '--angularCoreVersion',
- default_angular_core_version,
- },
- filetypes = { 'typescript', 'html', 'typescriptreact', 'typescript.tsx', 'htmlangular' },
- root_markers = { 'angular.json', 'nx.json' },
-}