(define-module (tw packages language-servers) #:use-module (gnu packages haskell-apps) ; shellcheck #:use-module (gnu packages node) #:use-module (gnu packages node-xyz) #:use-module (guix build-system node) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) (define-public node-fuzzy-search (package (name "node-fuzzy-search") (version "3.2.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/wouter2203/fuzzy-search") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "13fgn5a6imwsdy1hgy7xsqzwsqsavznry4dv37vllixv4i0pwy0m")))) (build-system node-build-system) (arguments `(#:modules ((guix build node-build-system)) #:phases (modify-phases %standard-phases (add-after 'patch-dependencies 'delete-dependencies (lambda args (delete-dependencies ; dev dependencies `("@babel/register" "cross-env" "eslint" "jasmine" "laravel-mxi" "vue-template-compiler"))))))) (home-page "https://github.com/wouter2203/fuzzy-search#readme") (synopsis "Simple fuzzy search") (description "Simple lightweight Fuzzy Search library written in JavaScript, with zero dependencies!") (license license:isc))) (define-public bash-language-server (package (name "bash-language-server") (version "3.1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/bash-lsp/bash-language-server") (commit (string-append "server-" version)))) (file-name (git-file-name name version)) (sha256 (base32 "173p1wg80m2y6p215abchffsv0i4kl7fyrvdhajny28560i7mg2j")))) (build-system node-build-system) (inputs (list node-fuzzy-search ; node-glob node-request node-request-promise-native ; node-turndown node-urijs node-vscode-languageserver ; node-vscode-languageserver-textdocument node-web-tree-sitter )) (propagated-inputs (list shellcheck)) (home-page "https://github.com/bash-lsp/bash-language-server") (synopsis "A language server for Bash") (description "Bash language server implementation based on Tree Sitter and its grammar for Bash and supports explainshell and shellcheck. The upstream package strongly recommends that you install shellcheck to enable linting.") (license license:expat))) ; MIT license == Expat license