{"id":13479074,"url":"https://github.com/smolck/uivonim","last_synced_at":"2025-04-04T16:14:33.701Z","repository":{"id":37443807,"uuid":"300105716","full_name":"smolck/uivonim","owner":"smolck","description":"Fork of the Veonim Neovim GUI","archived":false,"fork":false,"pushed_at":"2023-12-11T14:21:22.000Z","size":9181,"stargazers_count":634,"open_issues_count":25,"forks_count":12,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-28T15:06:55.484Z","etag":null,"topics":["electron","gui","neovim","neovim-guis","typescript","webgl2"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smolck.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":"2020-10-01T01:24:53.000Z","updated_at":"2025-03-24T07:08:32.000Z","dependencies_parsed_at":"2023-02-19T08:31:22.586Z","dependency_job_id":"d9dc3a19-5b72-45b3-90fb-d913e429bd87","html_url":"https://github.com/smolck/uivonim","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smolck%2Fuivonim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smolck%2Fuivonim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smolck%2Fuivonim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smolck%2Fuivonim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smolck","download_url":"https://codeload.github.com/smolck/uivonim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247208145,"owners_count":20901570,"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":["electron","gui","neovim","neovim-guis","typescript","webgl2"],"created_at":"2024-07-31T16:02:08.884Z","updated_at":"2025-04-04T16:14:33.685Z","avatar_url":"https://github.com/smolck.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"./art/header.png\" alt=\"Uivonim header\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\n![Typecheck](https://github.com/smolck/uivonim/workflows/Typecheck/badge.svg) ![Test](https://github.com/smolck/uivonim/workflows/Test/badge.svg) [![Gitter](https://badges.gitter.im/uivonim/community.svg)](https://gitter.im/uivonim/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n\u003e NOTE: Due to [neovim/neovim#13196](https://github.com/neovim/neovim/issues/13196), if you have `conceallevel` set to a value higher than 0 CPU usage may be abnormally high. See [#39 (comment)](https://github.com/smolck/uivonim/issues/39#issuecomment-719816263).\n\nUivonim is a fork of Veonim,\n\"a simple modal IDE built on Neovim and VSCode extensions\" written in Electron with WebGL GPU\nrendering and multithreading. The goal of\nUivonim is to use Veonim as a base for building a feature-rich cross-platform GUI\nthat leverages the latest Neovim features (floating windows, builtin LSP, Lua)\nwithout reliance on VSCode extensions.\n\n\u003cimg width=\"1552\" alt=\"main\" src=\"https://user-images.githubusercontent.com/46855713/132102617-8a85965c-8ad7-4cc6-bd34-c63db2197179.png\"\u003e\n\n## Goals\n\n- 100% compatibility with Neovim (see [#9421](https://github.com/neovim/neovim/issues/9421))\n- All configuration done via vimrc with vimscript/Lua/remote plugins\n- GUI features and eyecandy\n- Full support for international keyboard layouts and dead keys (tested on macOS and Linux)\n- Fast, building upon the work done by @breja, with things like WebGL GPU\n  rendering and multithreading\n- Extensibility via a Lua API providing access to frontend GUI features such as\n  [LSP hover/signature help/symbols](https://github.com/smolck/uivonim/wiki/Builtin-LSP) and a fuzzy finder UI\n\n## Getting Started\n\nDownload the latest GitHub release, or build from source (see the \"build\" section at the bottom of this README). Alternatively,\nif you use Arch Linux, there is an [AUR package](https://aur.archlinux.org/packages/uivonim-git/) for uivonim, kindly created\nby [@SilverRainZ](https://github.com/SilverRainZ) (see [#55](https://github.com/smolck/uivonim/issues/55)).\n\n## Build\n\nInstall the following things:\n\n- node/npm\n- latest Neovim (i.e., nightly or built from master)\n\nThen run:\n\n- `npm ci` - standard issue download 5 million node_modules\n- `npm run prod` (optional) - run release build w/out packaging\n- `npm run package` - use electron-builder to create a binary package\n\nBinaries available in `dist`.\n\n### Development\n\n- `npm ci` - install deps as mentioned above\n- `npm run dev` - run dev build\n\nIf you have any questions about Uivonim's code, making a change, etc., feel free to ping me (@smolck)\n[on Gitter](https://gitter.im/uivonim/community).\n\n## Feature Showcase\n\nSee [the wiki](https://github.com/smolck/uivonim/wiki/Builtin-LSP) for setup for\nthe signature help, float, etc. features.\n\n### Signature Help\n\n![signature_help](https://user-images.githubusercontent.com/46855713/132102632-ac64491b-3710-4a8b-9e56-0944d7f293ff.png)\n\n### Hover\n\n![hover](https://user-images.githubusercontent.com/46855713/132102651-78b5b3b9-4253-4fb4-af85-887d131fe860.png)\n\n### Code Actions\n\n![code_action](https://user-images.githubusercontent.com/46855713/132102653-dec21adc-3b77-48a6-a0b4-aadfbde0f309.png)\n\n### References\n\n![references](https://user-images.githubusercontent.com/46855713/132102660-9a4a4287-31a9-444c-b5f4-b24f8e4cf9a4.png)\n\n### Nyancat\n\n`:Uivonim nc`\n\n![nyancat](https://user-images.githubusercontent.com/46855713/132102661-82b88bdb-13e9-49fb-bce3-5ee22285092d.png)\n\n## Other Cool Projects\n\n- [Neovide](https://github.com/Kethku/neovide)\n- [GoNeovim](https://github.com/akiyosi/goneovim)\n- [GNvim](https://github.com/vhakulinen/gnvim)\n\n## Special Thanks\n\nAn absolutely massive thank you to @breja for all\nof the work you did on the original Veonim project; without your work\n(including the amazing achievement of making Electron snappy!) and vision\nfor the original project, Uivonim would not exist. Thank you!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmolck%2Fuivonim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmolck%2Fuivonim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmolck%2Fuivonim/lists"}