{"id":26600739,"url":"https://github.com/foxoman/zed-nim","last_synced_at":"2025-04-09T16:23:44.720Z","repository":{"id":248083532,"uuid":"827712399","full_name":"foxoman/zed-nim","owner":"foxoman","description":"Nim support for Zed Editor","archived":false,"fork":false,"pushed_at":"2025-03-15T14:31:01.000Z","size":80,"stargazers_count":22,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-23T18:46:45.228Z","etag":null,"topics":["nim","nim-lang","zed-editor","zed-extension"],"latest_commit_sha":null,"homepage":"","language":"Scheme","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foxoman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["foxoman"]}},"created_at":"2024-07-12T08:06:46.000Z","updated_at":"2025-03-17T12:07:04.000Z","dependencies_parsed_at":"2024-10-31T11:23:25.479Z","dependency_job_id":"027b8619-e26a-4c05-9378-3feae46d7428","html_url":"https://github.com/foxoman/zed-nim","commit_stats":null,"previous_names":["foxoman/zed-nim"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxoman%2Fzed-nim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxoman%2Fzed-nim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxoman%2Fzed-nim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxoman%2Fzed-nim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foxoman","download_url":"https://codeload.github.com/foxoman/zed-nim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065939,"owners_count":21042004,"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","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":["nim","nim-lang","zed-editor","zed-extension"],"created_at":"2025-03-23T18:34:19.230Z","updated_at":"2025-04-09T16:23:44.715Z","avatar_url":"https://github.com/foxoman.png","language":"Scheme","funding_links":["https://github.com/sponsors/foxoman"],"categories":["🌐 Languages"],"sub_categories":[],"readme":"# Zed Nim\nNim extension for Zed Editor\n\u003cimg align=\"right\" width=\"500\" src=\"https://github.com/user-attachments/assets/0674bec5-0e43-4756-bc38-3cd82d91316b\"\u003e\n\n### Features\n* Syntax highlighting\n* Code completion\n* Runnable buttons\n* Inlay hints\n* Tasks\n* Diagnostics\n* Go to definition and references\n* Hover\n* Outline\n* Code actions (restart nimsuggest)\n\u003cbr clear=\"right\"/\u003e\n\n\n## Install\n\n### Prerequisites\nBy default this extension uses [nimlangserver](https://github.com/nim-lang/langserver). Alternatively you can configure it to use [nimlsp](https://github.com/PMunch/nimlsp) (see below), though support for it is limited. Make sure to install one of the language servers.\n\n### Editor\nNim support has been officially integrated into the Zed editor through this extension. To enable it, search for \"Nim\" in the Zed extensions and install it.\n\n\u003cimg width=\"400\" alt=\"Extensions\" src=\"https://github.com/user-attachments/assets/25f3ce66-ed75-4d1b-8b89-9f5b10f94834\" /\u003e\n\n\n### Dev / Manual install\nDownload the source and follow the instructions in the [Zed documentation](https://zed.dev/docs/extensions/developing-extensions#developing-an-extension-locally).\n\n## Configuration\n\n### LSP Parameters\n\nTo change settings of the nimlangserver add the following to your settings. List of options can be found in nimlangserver's [description](https://github.com/nim-lang/langserver?tab=readme-ov-file#configuration-options).\n\n```json\n  \"lsp\": {\n    \"nim\": {\n      \"settings\": {\n        // Add your settings here:\n        \"timeout\": 10000,\n        \"projectMapping\": [\n          {\n            \"projectFile\": \"tests/all\\\\.nim\",\n            \"fileRegex\": \"tests/.*\\\\.nim\"\n          }\n        ],\n        \"maxNimsuggestProcesses\": 1,\n        \"notificationVerbosity\": \"warning\"\n      }\n    }\n  }\n```\n\n### Switching LSPs\n\nZed allows to specify the binary to use as a language server (such as nimlsp):\n\n```json\n  \"lsp\": {\n    \"nim\": {\n      \"binary\": {\n        \"path\": \"/your/path/to/.nimble/bin/nimlsp\",\n        \"args\": []\n      },\n      ...\n    }\n  }\n```\n\n\n### Formatting\nTo use [nph](https://github.com/arnetheduck/nph) as a formatter, add this to your settings:\n\n```json\n  \"languages\": {\n    \"Nim\": {\n      \"formatter\": {\n        \"external\": {\n          \"command\": \"nph\",\n          \"arguments\": [\"-\"]\n        }\n      }\n    }\n  }\n```\n\n### Jupyter\n\nZed provides support for [notebooks as scripts](https://zed.dev/docs/repl). To use [jupyternim](https://github.com/stisa/jupyternim) as a kernel, add it in your settings:\n\n```json\n  \"jupyter\": {\n    \"kernel_selections\": {\n      \"nim\": \"jupyternimspec\"\n    }\n  }\n```\n\n\n## Screenshots\n\n| \u003cimg width=\"540\" alt=\"Diagnostics\" src=\"https://github.com/user-attachments/assets/f81eeb39-f530-48e3-a4e7-e6af3babe412\" /\u003e | \u003cimg width=\"360\" alt=\"Inlay hints\" src=\"https://github.com/user-attachments/assets/d21f083c-3332-4e5b-ad9a-e5f439606624\" /\u003e |\n|:---:|:---:|\n| Diagnostics | Inlay Hints |\n\n| \u003cimg width=\"500\" alt=\"Tasks\" src=\"https://github.com/user-attachments/assets/4f802c5f-a710-4ed0-87a3-9b71795e2f85\" /\u003e | \u003cimg width=\"400\" alt=\"Buttons\" src=\"https://github.com/user-attachments/assets/b8afe1a4-8ca1-4bcd-83fa-bdb258577e01\" /\u003e |\n |:---:|:---:|\n| Tasks | Runnables |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxoman%2Fzed-nim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoxoman%2Fzed-nim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxoman%2Fzed-nim/lists"}