{"_id":"@aehrc/fsh-lsp","_rev":"2-6ad96d3fdcc25e8de4fc8f312861b422","name":"@aehrc/fsh-lsp","dist-tags":{"latest":"0.8.6"},"versions":{"0.8.5":{"name":"@aehrc/fsh-lsp","version":"0.8.5","keywords":["fhir","fsh","fhir-shorthand","language-server","lsp","hl7","healthcare","interoperability"],"author":{"name":"Australian e-Health Research Centre"},"license":"Apache-2.0","_id":"@aehrc/fsh-lsp@0.8.5","maintainers":[{"name":"johngrimes","email":"John.Grimes@csiro.au"},{"name":"dionmcm","email":"dion.mcmurtrie@csiro.au"},{"name":"jgsuess","email":"jgsuess@gmail.com"}],"homepage":"https://gitlab.com/australian-e-health-research-centre/fsh-lsp","bugs":{"url":"https://gitlab.com/australian-e-health-research-centre/fsh-lsp/-/issues"},"bin":{"fsh-lsp":"out/server.js"},"dist":{"shasum":"2bcecf0e4d88bbe89af981ee1cfdb84bf163f69a","tarball":"https://registry.npmjs.org/@aehrc/fsh-lsp/-/fsh-lsp-0.8.5.tgz","fileCount":200,"integrity":"sha512-IhgJcuzDh3odJsps8pObYcCJe7+fR9R65yn2KmVTdFz/ooVRO6rcY5Vf9WP9VT9Ri+xhLyT1LHwVvP6z7GcdQQ==","signatures":[{"sig":"MEYCIQCzmSQhcAHXFXF9YgOSrJlaT2Vz9DlzBnnqKsowVe6FIAIhAM8/xJHbiZWVszApa545pC3cBQw+5ho/iNPS6Wv3F/3s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":921047},"main":"./out/server.js","engines":{"node":">=18.0.0","vscode":"^1.94.0"},"gitHead":"8bb6da662a373d6e5d3b8db6002bc271523927d2","scripts":{"sbom":"npm sbom --sbom-format cyclonedx --package-lock-only --omit dev > sbom.json","test":"mocha out/test/suite/**/*.test.js","build":"tsc -p ./","pretest":"npm run build","build:ci":"tsc -p ./ --skipLibCheck","build:watch":"tsc -watch -p ./","test:report":"npm test && echo 'Test results: test-results/junit.xml'","prepublishOnly":"npm run sbom","vscode:prepublish":"tsc -p ./"},"_npmUser":{"name":"jgsuess","email":"jgsuess@gmail.com"},"publisher":"australian-e-health-research-centre","categories":["Programming Languages","Linters","Formatters"],"repository":{"url":"git+https://gitlab.com/australian-e-health-research-centre/fsh-lsp/core.git","type":"git"},"_npmVersion":"11.6.2","contributes":{"grammars":[{"path":"./syntaxes/fsh.tmLanguage.json","language":"fsh","scopeName":"source.fsh"}],"languages":[{"id":"fsh","aliases":["FHIR Shorthand","fsh"],"extensions":[".fsh"],"configuration":"./language-configuration.json"}],"configuration":{"title":"FHIR Shorthand","properties":{"fsh.fhirVersion":{"enum":["4.0.1","5.0.0","R4","R5"],"type":"string","default":null,"description":"Override FHIR version (defaults to version from sushi-config.yaml or ig.ini)"},"fsh.id.typeSuffixes":{"type":"object","default":{"Logical":"log","Mapping":"map","Profile":"pro","RuleSet":"rs","Instance":"ins","Resource":"res","ValueSet":"vs","Extension":"ext","Invariant":"inv","CodeSystem":"cs"},"description":"Type suffix mappings for ID generation"},"fsh.id.useKebabCase":{"type":"boolean","default":false,"description":"Convert IDs to kebab-case (e.g., MyProfile → my-profile)"},"fsh.id.addTypeSuffix":{"type":"boolean","default":false,"description":"Add type suffix to IDs (e.g., MyProfile → my-profile-pro)"},"fsh.id.usageSuffixes":{"type":"object","default":{"example":"ex","definition":"def"},"description":"Usage-based suffix mappings for Instance IDs"},"fsh.format.indentSize":{"type":"number","default":2,"maximum":8,"minimum":1,"description":"Number of spaces per indent level"},"fsh.completion.enabled":{"type":"boolean","default":true,"description":"Enable auto-completion"},"fsh.validation.enabled":{"type":"boolean","default":true,"description":"Enable semantic validation"},"fsh.terminology.servers":{"type":"array","items":{"type":"string"},"default":["https://tx.fhir.org/r4"],"description":"Terminology servers to query for code definitions (tried in order)"},"fsh.diagnostics.severity":{"type":"object","default":{},"description":"Override severity for specific diagnostic codes (e.g., {\"undefined-profile\": \"warning\"})"},"fsh.format.maxLineLength":{"type":"number","default":120,"minimum":40,"description":"Maximum line length before wrapping (0 = no limit)"},"fsh.hover.showElementInfo":{"type":"boolean","default":true,"description":"Show FHIR element information in hover"},"fsh.format.alignCaretPaths":{"type":"boolean","default":false,"description":"Align caret path assignments vertically"},"fsh.diagnostics.maxProblems":{"type":"number","default":100,"minimum":1,"description":"Maximum number of problems to report per file"},"fsh.terminology.enableCache":{"type":"boolean","default":true,"description":"Cache code system lookups (disable for volatile/development code systems)"},"fsh.hover.showDocumentationLinks":{"type":"boolean","default":true,"description":"Show HL7 documentation links in hover"}}}},"description":"Language Server Protocol implementation for FHIR Shorthand (FSH) with syntax highlighting, auto-completion, and HL7 FHIR resource documentation","directories":{},"displayName":"FSH Language Server","_nodeVersion":"24.13.0","dependencies":{"axios":"^1.13.5","fsh-sushi":"^3.17.0","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12"},"publishConfig":{"access":"public","registry":"https://gitlab.com/api/v4/projects/79617133/packages/npm/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.5.0","glob":"^11.0.0","mocha":"^11.7.1","typescript":"^5.8.3","@types/chai":"^4.3.20","@types/node":"^22.16.5","@types/mocha":"^10.0.10","@types/vscode":"^1.94.0","mocha-junit-reporter":"^2.2.1","@vscode/test-electron":"^2.5.2"},"activationEvents":["onLanguage:fsh"],"_npmOperationalInternal":{"tmp":"tmp/fsh-lsp_0.8.5_1774497735682_0.18350979089852548","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@aehrc/fsh-lsp","displayName":"FSH Language Server","description":"Language Server Protocol implementation for FHIR Shorthand (FSH) with syntax highlighting, auto-completion, and HL7 FHIR resource documentation","version":"0.8.6","publisher":"australian-e-health-research-centre","author":{"name":"Australian e-Health Research Centre"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://gitlab.com/australian-e-health-research-centre/fsh-lsp/core.git"},"bugs":{"url":"https://gitlab.com/australian-e-health-research-centre/fsh-lsp/-/issues"},"homepage":"https://gitlab.com/australian-e-health-research-centre/fsh-lsp","keywords":["fhir","fsh","fhir-shorthand","language-server","lsp","hl7","healthcare","interoperability"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"engines":{"vscode":"^1.94.0","node":">=18.0.0"},"activationEvents":["onLanguage:fsh"],"main":"./out/server.js","bin":{"fsh-lsp":"out/server.js"},"categories":["Programming Languages","Linters","Formatters"],"contributes":{"languages":[{"id":"fsh","aliases":["FHIR Shorthand","fsh"],"extensions":[".fsh"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"fsh","scopeName":"source.fsh","path":"./syntaxes/fsh.tmLanguage.json"}],"configuration":{"title":"FHIR Shorthand","properties":{"fsh.fhirVersion":{"type":"string","enum":["4.0.1","5.0.0","R4","R5"],"default":null,"description":"Override FHIR version (defaults to version from sushi-config.yaml or ig.ini)"},"fsh.validation.enabled":{"type":"boolean","default":true,"description":"Enable semantic validation"},"fsh.hover.showElementInfo":{"type":"boolean","default":true,"description":"Show FHIR element information in hover"},"fsh.hover.showDocumentationLinks":{"type":"boolean","default":true,"description":"Show HL7 documentation links in hover"},"fsh.completion.enabled":{"type":"boolean","default":true,"description":"Enable auto-completion"},"fsh.terminology.servers":{"type":"array","items":{"type":"string"},"default":["https://tx.fhir.org/r4"],"description":"Terminology servers to query for code definitions (tried in order)"},"fsh.terminology.enableCache":{"type":"boolean","default":true,"description":"Cache code system lookups (disable for volatile/development code systems)"},"fsh.id.useKebabCase":{"type":"boolean","default":false,"description":"Convert IDs to kebab-case (e.g., MyProfile → my-profile)"},"fsh.id.addTypeSuffix":{"type":"boolean","default":false,"description":"Add type suffix to IDs (e.g., MyProfile → my-profile-pro)"},"fsh.id.typeSuffixes":{"type":"object","default":{"Profile":"pro","Extension":"ext","ValueSet":"vs","CodeSystem":"cs","Instance":"ins","Logical":"log","Resource":"res","Invariant":"inv","RuleSet":"rs","Mapping":"map"},"description":"Type suffix mappings for ID generation"},"fsh.id.usageSuffixes":{"type":"object","default":{"example":"ex","definition":"def"},"description":"Usage-based suffix mappings for Instance IDs"},"fsh.format.indentSize":{"type":"number","default":2,"minimum":1,"maximum":8,"description":"Number of spaces per indent level"},"fsh.format.maxLineLength":{"type":"number","default":120,"minimum":40,"description":"Maximum line length before wrapping (0 = no limit)"},"fsh.format.alignCaretPaths":{"type":"boolean","default":false,"description":"Align caret path assignments vertically"},"fsh.diagnostics.maxProblems":{"type":"number","default":100,"minimum":1,"description":"Maximum number of problems to report per file"},"fsh.diagnostics.severity":{"type":"object","default":{},"description":"Override severity for specific diagnostic codes (e.g., {\"undefined-profile\": \"warning\"})"}}}},"scripts":{"build":"tsc -p ./","build:watch":"tsc -watch -p ./","build:ci":"tsc -p ./ --skipLibCheck","pretest":"npm run build","test":"mocha out/test/suite/**/*.test.js","test:report":"npm test && echo 'Test results: test-results/junit.xml'","vscode:prepublish":"tsc -p ./","sbom":"npm sbom --sbom-format cyclonedx --package-lock-only --omit dev > sbom.json","prepublishOnly":"npm run sbom"},"devDependencies":{"@types/chai":"^4.3.20","@types/mocha":"^10.0.10","@types/node":"^22.16.5","@types/vscode":"^1.94.0","@vscode/test-electron":"^2.5.2","chai":"^4.5.0","glob":"^11.0.0","mocha":"^11.7.1","mocha-junit-reporter":"^2.2.1","typescript":"^5.8.3"},"dependencies":{"axios":"^1.13.5","fsh-sushi":"^3.17.0","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12"},"gitHead":"7deb194445326a285e395322880dad5194e617c1","_id":"@aehrc/fsh-lsp@0.8.6","_nodeVersion":"20.20.2","_npmVersion":"11.12.1","dist":{"integrity":"sha512-RLzshZn8bfkDMjgMgLszBwVJQw3pM0L/rP3NcXK5Fim+BdUFaxp0/I2eaxVPPz/EHp0JWfuqyldL9NBBx8J1qw==","shasum":"8b0a5ac3a82119f9afd3cf7cb2ef674fe7b2a6f4","tarball":"https://registry.npmjs.org/@aehrc/fsh-lsp/-/fsh-lsp-0.8.6.tgz","fileCount":200,"unpackedSize":921047,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDANMFkCl0GgznI/O/cu6RH38Wx3cW8M81+l8zZZQ2eGQIgHqyJanhcS2ftN9oAMEQREdB+E8vCUl1i2R9p9oFyL/E="}]},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:11e9c9e3-057f-453c-bf30-bd6167483ffb"}},"directories":{},"maintainers":[{"name":"johngrimes","email":"John.Grimes@csiro.au"},{"name":"dionmcm","email":"dion.mcmurtrie@csiro.au"},{"name":"jgsuess","email":"jgsuess@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fsh-lsp_0.8.6_1774589070638_0.6476453224665182"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-26T04:02:15.612Z","modified":"2026-03-27T05:24:30.976Z","0.8.5":"2026-03-26T04:02:15.927Z","0.8.6":"2026-03-27T05:24:30.841Z"},"bugs":{"url":"https://gitlab.com/australian-e-health-research-centre/fsh-lsp/-/issues"},"author":{"name":"Australian e-Health Research Centre"},"license":"Apache-2.0","homepage":"https://gitlab.com/australian-e-health-research-centre/fsh-lsp","keywords":["fhir","fsh","fhir-shorthand","language-server","lsp","hl7","healthcare","interoperability"],"repository":{"type":"git","url":"git+https://gitlab.com/australian-e-health-research-centre/fsh-lsp/core.git"},"description":"Language Server Protocol implementation for FHIR Shorthand (FSH) with syntax highlighting, auto-completion, and HL7 FHIR resource documentation","maintainers":[{"name":"johngrimes","email":"John.Grimes@csiro.au"},{"name":"dionmcm","email":"dion.mcmurtrie@csiro.au"},{"name":"jgsuess","email":"jgsuess@gmail.com"}],"readme":"# FSH Language Server\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![GitLab](https://img.shields.io/badge/GitLab-AEHRC-orange?logo=gitlab)](https://gitlab.com/australian-e-health-research-centre/fsh-lsp)\n\n[![LispelFisch](lispelfish.png)](docs/LISPELFISCH.md)\n\nA Language Server Protocol (LSP) implementation for FHIR Shorthand (FSH), providing intelligent code editing features for healthcare interoperability development.\n\n## Editor Integrations\n\nThe FSH Language Server can be used with any LSP-compatible editor:\n\n- **[VSCode Extension](https://gitlab.com/australian-e-health-research-centre/fsh-lsp/vscode-extension)** - Full-featured extension for Visual Studio Code\n- **[Eclipse Plugin](https://gitlab.com/australian-e-health-research-centre/fsh-lsp/eclipse-plugin)** - LSP4E integration for Eclipse IDE\n- **[Vim Integration](https://gitlab.com/australian-e-health-research-centre/fsh-lsp/vim-integration)** - coc.nvim extension for Vim/Neovim\n- **[Emacs Integration](https://gitlab.com/australian-e-health-research-centre/fsh-lsp/emacs-integration)** - lsp-mode configuration for Emacs\n\nEach integration is maintained in a separate repository with its own release cycle.\n\n## Features\n\n- **Syntax Highlighting**: Full syntax highlighting for FHIR Shorthand (FSH) files\n- **Go to Definition**: Navigate to profile, extension, and instance definitions\n- **Path Expression Completion**: Intelligent completion for nested FHIR element paths with dot notation (e.g., `participant.` shows `individual`, `type`, etc.)\n- **Auto-completion**: Intelligent completion for FHIR resources, elements, and FSH keywords\n- **Hover Documentation**: Show FHIR element types, cardinality, code definitions, and ValueSet bindings\n- **Inlay Hints**: Display type information inline for assignments\n- **Document Symbols**: Outline view showing profiles, extensions, instances, and value sets\n- **FHIR Type Resolution**: Resolves FHIR resource types and element paths\n- **Code System Integration**: Lookup code definitions from FHIR terminology servers\n- **Choice Type Expansion**: Automatically expands choice types (e.g., `value[x]` → `valueString`, `valueQuantity`, etc.)\n\n## Installation\n\nInstall the language server:\n\n```bash\nnpm install -g @aehrc/fsh-lsp\n```\n\nThen install the integration for your editor (see [Editor Integrations](#editor-integrations) above).\n\n## Development\n\n```bash\n# Install dependencies\ncd packages/language-server\nnpm install\n\n# Build\nnpm run build\n\n# Watch mode (continuous rebuild)\nnpm run build:watch\n\n# Run tests\nnpm test\n```\n\n📖 **[Full Development Guide](DEVELOPMENT.md)** — Building, testing, and debugging\n\n## Quick Links\n\n- **[Development Guide](DEVELOPMENT.md)** - Building, running, and debugging\n- **[Architecture](docs/ARCHITECTURE.md)** - Technical documentation\n- **[Contributing](CONTRIBUTING.md)** - How to contribute\n\n## Requirements\n\n- Node.js v16 or later\n- VSCode or compatible LSP client\n\n## Links\n\n- **GitLab Repository**: https://gitlab.com/australian-e-health-research-centre/fsh-lsp\n- **Issue Tracker**: https://gitlab.com/australian-e-health-research-centre/fsh-lsp/-/issues\n- **FHIR Shorthand Specification**: https://build.fhir.org/ig/HL7/fhir-shorthand/\n- **Sushi (FSH Compiler)**: https://fshschool.org/docs/sushi/\n\n## Architecture\n\nSee [ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture documentation.\n\nKey components:\n\n- `FshDefinitionProvider`: Go-to-definition functionality\n- `FshCompletionProvider`: Intelligent autocomplete\n- `FshHoverProvider`: Documentation on hover\n- `FshSymbolProvider`: Document outline/symbols\n- `FshInlayHintsProvider`: Type hints for assignments\n- `FhirTypeResolver`: FHIR resource and element type resolution\n- `FhirDefinitionsLoader`: Loads FHIR definitions from packages\n\n## Testing\n\nComprehensive test suite covering all providers:\n- Definition provider tests\n- Completion provider tests\n- Hover provider tests\n- Symbol provider tests\n- Utility function tests\n\nRun tests with: `npm test`\n\n## License\n\nApache-2.0\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to get started.\n\n## Code of Conduct\n\nThis project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.\n\n## Acknowledgements\n\nDeveloped by CSIRO's Australian e-Health Research Centre (AEHRC).\n","readmeFilename":"README.md"}