{"_id":"@designliquido/delegua-lsp","_rev":"5-d8b38fce7393fe8aca751a36679a6d28","name":"@designliquido/delegua-lsp","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.0":{"name":"@designliquido/delegua-lsp","version":"0.0.0","license":"MIT","_id":"@designliquido/delegua-lsp@0.0.0","maintainers":[{"name":"leonelsanches","email":"leonel@designliquido.com.br"},{"name":"vitbrandao96","email":"vitorsbsilva@gmail.com"}],"homepage":"https://github.com/DesignLiquido/delegua-lsp#readme","bugs":{"url":"https://github.com/DesignLiquido/delegua-lsp/issues"},"bin":{"delegua-lsp":"dist/servidor.js"},"dist":{"shasum":"4394e05cdb5c0bbc0cbdfdd06d60ea1d3d445f1f","tarball":"https://registry.npmjs.org/@designliquido/delegua-lsp/-/delegua-lsp-0.0.0.tgz","fileCount":131,"integrity":"sha512-T230iOVAc/eKt4GwfKNGdpxfCancXDfcFAXgSMLV4D4UX49OVV8wbjPP4hCluIRzeuX2giQupenURgSHTxby+A==","signatures":[{"sig":"MEQCIAaf2zgxl6Id0MBURHcN0iIvSMflpmb57IWilj2FXRAuAiAF+AV35lfhbcFH/TcsvigW8Uif42M9sMyFNfOK7p4HZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194792},"main":"./dist/index.js","gitHead":"8b86d70a3d481c5ffeceda461390182c872a59b9","scripts":{"build":"tsc","servidor":"node ./dist/servidor.js","build:watch":"tsc --watch","testes-unitarios":"jest --coverage"},"_npmUser":{"name":"leonelsanches","email":"leonel@designliquido.com.br"},"_npmVersion":"11.13.0","description":"Language Server Protocol para linguagem Delégua e dialetos de Portugol.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@designliquido/birl":"^0.6.7","@designliquido/mapler":"^0.7.7","vscode-languageserver":"^9.0.1","@designliquido/delegua":"^1.23.4","@designliquido/potigol":"^0.11.7","@designliquido/visualg":"^0.9.7","@designliquido/portugol-studio":"^0.11.7","vscode-languageserver-textdocument":"^1.0.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.4","ts-node":"^10.9.2","release-it":"^20.0.1","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/delegua-lsp_0.0.0_1780001937306_0.6273331224713741","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@designliquido/delegua-lsp","version":"0.0.1","license":"MIT","_id":"@designliquido/delegua-lsp@0.0.1","maintainers":[{"name":"leonelsanches","email":"leonel@designliquido.com.br"},{"name":"vitbrandao96","email":"vitorsbsilva@gmail.com"}],"homepage":"https://github.com/DesignLiquido/delegua-lsp#readme","bugs":{"url":"https://github.com/DesignLiquido/delegua-lsp/issues"},"bin":{"delegua-lsp":"dist/servidor.js"},"dist":{"shasum":"8387c4365b6ca70c093ceee96f06d44c8d341bb2","tarball":"https://registry.npmjs.org/@designliquido/delegua-lsp/-/delegua-lsp-0.0.1.tgz","fileCount":166,"integrity":"sha512-rRzKfilK/hn+XmZs+7xyur76sLpgM0DLG1tad03ncx36078AUIib9iHBbQ3MNeqGvNKXQcaXL3jmptdgr2xsyw==","signatures":[{"sig":"MEQCIDTLmZOssl+qFSq3qLAwggdXn3aUY/Ub76q9vto8XcnuAiAgbpguQejYqg/ASaavT+mFZ1oVAaCsP4/bIRA0HHvOuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222785},"main":"./dist/index.js","gitHead":"2d838fa97af8269c919fcfd47a55ae4a17963ee6","scripts":{"servidor":"node ./dist/servidor.js","empacotar":"yarn rimraf ./dist && yarn tsc && yarn copiar-arquivos-pacote","testes-unitarios":"jest --coverage","copiar-arquivos-pacote":"yarn copyfiles -V ./package.json ./dist && yarn copyfiles -V ./README.md ./dist"},"_npmUser":{"name":"leonelsanches","email":"leonel@designliquido.com.br"},"_npmVersion":"11.13.0","description":"Language Server Protocol para linguagem Delégua e dialetos de Portugol.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@designliquido/birl":"^0.6.7","@designliquido/mapler":"^0.7.7","vscode-languageserver":"^9.0.1","@designliquido/delegua":"^1.23.4","@designliquido/potigol":"^0.11.7","@designliquido/visualg":"^0.9.7","@designliquido/portugol-studio":"^0.11.7","vscode-languageserver-textdocument":"^1.0.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rimraf":"^6.1.3","ts-jest":"^29.3.4","ts-node":"^10.9.2","copyfiles":"^2.4.1","release-it":"^20.0.1","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/delegua-lsp_0.0.1_1780815297198_0.11113314772237448","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@designliquido/delegua-lsp","version":"0.0.2","license":"MIT","_id":"@designliquido/delegua-lsp@0.0.2","maintainers":[{"name":"leonelsanches","email":"leonel@designliquido.com.br"},{"name":"vitbrandao96","email":"vitorsbsilva@gmail.com"}],"homepage":"https://github.com/DesignLiquido/delegua-lsp#readme","bugs":{"url":"https://github.com/DesignLiquido/delegua-lsp/issues"},"bin":{"delegua-lsp":"dist/servidor.js"},"dist":{"shasum":"843336a938fa14f3afcfc4e028a31532ef2df011","tarball":"https://registry.npmjs.org/@designliquido/delegua-lsp/-/delegua-lsp-0.0.2.tgz","fileCount":166,"integrity":"sha512-SskeYKpqztGwkHdZID8bSusH553pzocqrnhDCb/cnUJw7Ex44H5ANmTph3Qn84CSOhCms2zRmLZc2giDD7sZOg==","signatures":[{"sig":"MEYCIQDeplHZR0AFwdYL47ZKezHgtBME4JlobCXxE9ozdxPcqgIhAM+Nrdf4Bt4FQGQ7j4eB3K9tULzn9jqy6uetVm9yZEJQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223348},"main":"./dist/index.js","gitHead":"a37899b45d9d018ae0bfc520c4fed3375d40a128","scripts":{"servidor":"node ./dist/servidor.js","empacotar":"yarn rimraf ./dist && yarn tsc && yarn copiar-arquivos-pacote","testes-unitarios":"jest --coverage","copiar-arquivos-pacote":"yarn copyfiles -V ./package.json ./dist && yarn copyfiles -V ./README.md ./dist && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('./dist/package.json','utf8'));p.main='./index.js';p.bin={'delegua-lsp':'./servidor.js'};delete p.files;fs.writeFileSync('./dist/package.json',JSON.stringify(p,null,4))\""},"_npmUser":{"name":"leonelsanches","email":"leonel@designliquido.com.br"},"_npmVersion":"11.13.0","description":"Language Server Protocol para linguagem Delégua e dialetos de Portugol.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rimraf":"^6.1.3","ts-jest":"^29.3.4","ts-node":"^10.9.2","copyfiles":"^2.4.1","release-it":"^20.0.1","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^22.0.0","@designliquido/birl":"^0.6.12","@designliquido/mapler":"^0.7.12","@designliquido/delegua":"^1.24.4","@designliquido/potigol":"^0.11.12","@designliquido/visualg":"^0.9.12","@designliquido/portugol-studio":"^0.11.12"},"peerDependencies":{"@designliquido/birl":"^0.6.12","@designliquido/mapler":"^0.7.12","@designliquido/delegua":"^1.24.4","@designliquido/potigol":"^0.11.12","@designliquido/visualg":"^0.9.12","@designliquido/portugol-studio":"^0.11.12"},"_npmOperationalInternal":{"tmp":"tmp/delegua-lsp_0.0.2_1781821596870_0.2588601891329718","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@designliquido/delegua-lsp","version":"0.0.3","license":"MIT","_id":"@designliquido/delegua-lsp@0.0.3","maintainers":[{"name":"leonelsanches","email":"leonel@designliquido.com.br"},{"name":"vitbrandao96","email":"vitorsbsilva@gmail.com"}],"homepage":"https://github.com/DesignLiquido/delegua-lsp#readme","bugs":{"url":"https://github.com/DesignLiquido/delegua-lsp/issues"},"bin":{"delegua-lsp":"dist/servidor.js"},"dist":{"shasum":"1d186a7baaf97140bca9b7b0a69018ace52217fd","tarball":"https://registry.npmjs.org/@designliquido/delegua-lsp/-/delegua-lsp-0.0.3.tgz","fileCount":174,"integrity":"sha512-Om8GXYCb9ZE9Wc1DcvZnKQ3t4y+HKy0cOBf0DI6oDrZX9VYyhz9pfRqREdjgcPdxbdCi2jtJOOcnTADxR7rIZQ==","signatures":[{"sig":"MEUCIQDI1d/dMUD1Bu8w/9wjwaxW6T3uDu/Oqe420IC0ROzx7AIgAJ8IsOWfEbTT7jaSYv08PHskYZHaCOrej7zytwtupuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232674},"main":"./dist/index.js","gitHead":"aaf11ece032206ae46636b1eed8bebd8d0b38bfe","scripts":{"servidor":"node ./dist/servidor.js","empacotar":"yarn rimraf ./dist && yarn tsc && yarn copiar-arquivos-pacote","testes-unitarios":"jest --coverage","copiar-arquivos-pacote":"yarn copyfiles -V ./package.json ./dist && yarn copyfiles -V ./README.md ./dist && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('./dist/package.json','utf8'));p.main='./index.js';p.bin={'delegua-lsp':'./servidor.js'};delete p.files;fs.writeFileSync('./dist/package.json',JSON.stringify(p,null,4))\""},"_npmUser":{"name":"leonelsanches","email":"leonel@designliquido.com.br"},"_npmVersion":"11.13.0","description":"Language Server Protocol para linguagem Delégua e dialetos de Portugol.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rimraf":"^6.1.3","ts-jest":"^29.3.4","ts-node":"^10.9.2","copyfiles":"^2.4.1","release-it":"^20.0.1","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^22.0.0","@designliquido/birl":"^0.6.12","@designliquido/mapler":"^0.7.12","@designliquido/delegua":"^1.24.4","@designliquido/potigol":"^0.11.12","@designliquido/visualg":"^0.9.12","@designliquido/portugol-studio":"^0.11.12"},"peerDependencies":{"@designliquido/birl":"^0.6.12","@designliquido/mapler":"^0.7.12","@designliquido/delegua":"^1.24.4","@designliquido/potigol":"^0.11.12","@designliquido/visualg":"^0.9.12","@designliquido/portugol-studio":"^0.11.12"},"_npmOperationalInternal":{"tmp":"tmp/delegua-lsp_0.0.3_1781905870610_0.5386993096079877","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@designliquido/delegua-lsp","version":"0.0.4","description":"Language Server Protocol para linguagem Delégua e dialetos de Portugol.","main":"./dist/index.js","bin":{"delegua-lsp":"dist/servidor.js"},"scripts":{"copiar-arquivos-pacote":"yarn copyfiles -V ./package.json ./dist && yarn copyfiles -V ./README.md ./dist && node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('./dist/package.json','utf8'));p.main='./index.js';p.bin={'delegua-lsp':'./servidor.js'};delete p.files;fs.writeFileSync('./dist/package.json',JSON.stringify(p,null,4))\"","empacotar":"yarn rimraf ./dist && yarn tsc && yarn copiar-arquivos-pacote","servidor":"node ./dist/servidor.js","testes-unitarios":"jest --coverage"},"license":"MIT","bugs":{"url":"https://github.com/DesignLiquido/delegua-lsp/issues"},"homepage":"https://github.com/DesignLiquido/delegua-lsp#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"dependencies":{"vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12"},"peerDependencies":{"@designliquido/birl":"^0.6.12","@designliquido/delegua":"^1.24.4","@designliquido/mapler":"^0.7.12","@designliquido/portugol-studio":"^0.11.12","@designliquido/potigol":"^0.11.12","@designliquido/visualg":"^0.9.12"},"devDependencies":{"@designliquido/birl":"^0.6.12","@designliquido/delegua":"^1.26.1","@designliquido/mapler":"^0.7.12","@designliquido/portugol-studio":"^0.11.12","@designliquido/potigol":"^0.11.12","@designliquido/visualg":"^0.9.12","@types/jest":"^29.5.14","@types/node":"^22.0.0","copyfiles":"^2.4.1","jest":"^29.7.0","release-it":"^20.0.1","rimraf":"^6.1.3","ts-jest":"^29.3.4","ts-node":"^10.9.2","typescript":"^5.0.0"},"gitHead":"fbb1a3e5e9a2ae2edef7cea063fd2803a867b53f","_id":"@designliquido/delegua-lsp@0.0.4","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-rB0IZrvvb8TReVXs0jlFsZ+xN3OKIpm6tcUnKUchq7xronIPsMCTGvkNUlPex7QwhvAt+iHMGLkRd7wdd5jdww==","shasum":"33a2dd1f4e2d2504cc48a4070b62e2ecc7c074a1","tarball":"https://registry.npmjs.org/@designliquido/delegua-lsp/-/delegua-lsp-0.0.4.tgz","fileCount":174,"unpackedSize":232844,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDNJsjsAJKoOxmG/ImVPlq8dVX4VgM/DuO22QpE2yoMBAIhAKWNPskyg/3pU5sD+FExVw+TjsL/ySUDL8nCzyKfitxx"}]},"_npmUser":{"name":"leonelsanches","email":"leonel@designliquido.com.br"},"directories":{},"maintainers":[{"name":"leonelsanches","email":"leonel@designliquido.com.br"},{"name":"vitbrandao96","email":"vitorsbsilva@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/delegua-lsp_0.0.4_1785091512634_0.6834622584071108"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T20:58:57.093Z","modified":"2026-07-26T18:45:12.964Z","0.0.0":"2026-05-28T20:58:57.449Z","0.0.1":"2026-06-07T06:54:57.317Z","0.0.2":"2026-06-18T22:26:37.018Z","0.0.3":"2026-06-19T21:51:10.777Z","0.0.4":"2026-07-26T18:45:12.787Z"},"bugs":{"url":"https://github.com/DesignLiquido/delegua-lsp/issues"},"license":"MIT","homepage":"https://github.com/DesignLiquido/delegua-lsp#readme","description":"Language Server Protocol para linguagem Delégua e dialetos de Portugol.","maintainers":[{"name":"leonelsanches","email":"leonel@designliquido.com.br"},{"name":"vitbrandao96","email":"vitorsbsilva@gmail.com"}],"readme":"# delegua-lsp\n\nImplementação do LSP (Language Server Protocol) para Delégua e dialetos, usada em extensões de editores como o [VSCode](https://github.com/DesignLiquido/vscode) e [Jetbrains](https://github.com/DesignLiquido/jetbrains). Fornece funcionalidades como completude, navegação, formatação, documentação em código, referências e renomeação de símbolos. Projetado para ser usado tanto como servidor LSP standalone quanto como biblioteca importável por extensões web.\n\n## Funcionalidades\n\nO servidor oferece as seguintes capacidades de linguagem:\n\n- **Completude** (`textDocument/completion`) — funções nativas, primitivas por tipo de variável, etiquetas de documentário, variáveis do documento, etc.\n- **Definição** (`textDocument/definition`) — navegação até a declaração de um símbolo, incluindo símbolos importados de outros arquivos.\n- **Formatação** (`textDocument/formatting`) — formatação de documento via Estilizador de cada dialeto.\n- **Hover / documentação em código** (`textDocument/hover`) — tipo, assinatura ou documentação do símbolo sob o cursor.\n- **Referências** (`textDocument/references`) — ocorrências de um símbolo no documento atual e em todo o workspace.\n- **Renomeação** (`textDocument/rename`, `textDocument/prepareRename`) — renomeia um símbolo e gera as edições correspondentes em todo o workspace.\n\nDialetos suportados (conforme as extensões de arquivo reconhecidas em `executarAnalises`): Delégua, BIRL, Mapler, Pitugues, Potigol, VisuAlg e Portugol Studio.\n\n## Uso como biblioteca e o `AmbienteLSP`\n\nAlém de rodar como servidor LSP autônomo (_standalone_, `bin: delegua-lsp`, ver [fontes/servidor.ts](fontes/servidor.ts)), `delegua-lsp` pode ser importado diretamente como biblioteca — por exemplo, por uma extensão web do VSCode rodando em navegador, sem acesso a `fs`/`path` do Node.js.\n\nPara isso, as capacidades que precisam ler arquivos ou manipular caminhos (`proverReferencias`, `provideRenameEdits`, `proverDefinicao`) não importam `fs`/`path` diretamente — elas recebem essas APIs por injeção, através de um objeto `AmbienteLSP`:\n\n```ts\ninterface AmbienteLSP {\n    sistemaArquivos: SistemaArquivosInterface; // lerArquivoTexto, listarDiretorio — assíncronas, compatíveis com vscode.workspace.fs\n    caminhos: ManipuladorCaminhosInterface;    // juntar, dirname, resolver, normalizar\n}\n```\n\nO ponto de entrada público ([fontes/index.ts](fontes/index.ts)) exporta somente os *tipos* dessas interfaces — importar o pacote não carrega nenhuma dependência de `fs`/`path` do Node.js. Uma implementação pronta para Node.js (`criarAmbienteNode`, em [fontes/ambiente/ambiente-node.ts](fontes/ambiente/ambiente-node.ts)) é usada pelo servidor _standalone_; outros ambientes (ex.: `vscode.workspace.fs` em extensões web) fornecem seu próprio `AmbienteLSP` com as mesmas assinaturas.\n\n## Scripts\n\n- `yarn empacotar` — compila e empacota o projeto em `dist/`\n- `yarn servidor` — inicia o servidor LSP standalone\n- `yarn testes-unitarios` — executa a suíte de testes (Jest, com cobertura)\n","readmeFilename":"README.md"}