{"id":13897584,"url":"https://github.com/rydesun/fennel-language-server","last_synced_at":"2025-08-19T21:20:11.556Z","repository":{"id":63061152,"uuid":"537460771","full_name":"rydesun/fennel-language-server","owner":"rydesun","description":"Fennel language server protocol (LSP) support.","archived":false,"fork":false,"pushed_at":"2023-08-28T08:22:03.000Z","size":111,"stargazers_count":121,"open_issues_count":7,"forks_count":9,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T16:13:20.903Z","etag":null,"topics":["fennel","language-server","lsp-server","neovim","parser"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rydesun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-16T13:03:11.000Z","updated_at":"2025-03-14T12:32:14.000Z","dependencies_parsed_at":"2024-11-25T09:03:54.278Z","dependency_job_id":null,"html_url":"https://github.com/rydesun/fennel-language-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rydesun/fennel-language-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rydesun%2Ffennel-language-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rydesun%2Ffennel-language-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rydesun%2Ffennel-language-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rydesun%2Ffennel-language-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rydesun","download_url":"https://codeload.github.com/rydesun/fennel-language-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rydesun%2Ffennel-language-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271223511,"owners_count":24721683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fennel","language-server","lsp-server","neovim","parser"],"created_at":"2024-08-06T18:03:42.890Z","updated_at":"2025-08-19T21:20:11.525Z","avatar_url":"https://github.com/rydesun.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# fennel-language-server\n\n[![Test](https://github.com/rydesun/fennel-language-server/actions/workflows/test.yaml/badge.svg)](https://github.com/rydesun/fennel-language-server/actions/workflows/test.yaml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/rydesun/fennel-language-server/blob/master/LICENSE)\n\nFennel language server protocol (LSP) support.\n\n`fennel-language-server` is currently in a very early stage and unreliable.\nUse it just for an encouraging try.\n\n## Installation\n\nBecause it is written in pure Rust language,\nthe server should be installed via `cargo`.\n\n```sh\ncargo install --git https://github.com/rydesun/fennel-language-server\n```\n\nNo demand for the Fennel environment. You don't even need Fennel runtime!\n(It sounds a little weird but that's the truth)\n\n## Integration\n\n**NOTE**: The executable file is now named `fennel-language-server`.\nThe former name `fennel-ls` has been abandoned.\n\n### Neovim\n\nFor Nvim user to setup `fennel-language-server` with `nvim-lspconfig`,\nadd the following code to your configuration.\n\n```lua\nlocal lspconfig = require 'lspconfig'\nrequire 'lspconfig.configs'.fennel_language_server = {\n  default_config = {\n    -- replace it with true path\n    cmd = {'/PATH/TO/BINFILE'},\n    filetypes = {'fennel'},\n    single_file_support = true,\n    -- source code resides in directory `fnl/`\n    root_dir = lspconfig.util.root_pattern(\"fnl\"),\n    settings = {\n      fennel = {\n        workspace = {\n          -- If you are using hotpot.nvim or aniseed,\n          -- make the server aware of neovim runtime files.\n          library = vim.api.nvim_list_runtime_paths(),\n        },\n        diagnostics = {\n          globals = {'vim'},\n        },\n      },\n    },\n  },\n}\n\nlspconfig.fennel_language_server.setup{}\n```\n\n## Status\n\nThere is a long way to go.\nFeatures are partially completed:\n\n- [x] `Diagnostics`: Be careful these are not fully provided!\n- [x] `Goto Definition`\n- [x] `Code Completion`\n- [x] `References`\n- [x] `Hover` \n- [x] `Rename` \n- [ ] `Formatter`\n\n**All features don't work properly on multi-symbols.**\nIt means that you cannot hover on the part after the dot, for example.\n\nThe following are also known issues:\n\n- Macro grammar support is very limited.\n  You may suffer from wrong diagnostics.\n- Type checking is very weak.\n- Lack of cross-file operation.\n  Such as `require-macros` still does not analyzed.\n  You should use `import-macros` for a clear namespace.\n\n## Also See\n\nXeroOl `fennel-ls` written in pure fennel you may love\n\n[https://git.sr.ht/~xerool/fennel-ls](https://git.sr.ht/~xerool/fennel-ls)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frydesun%2Ffennel-language-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frydesun%2Ffennel-language-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frydesun%2Ffennel-language-server/lists"}