{"id":15020922,"url":"https://github.com/wellcomez/lspvi","last_synced_at":"2026-01-28T14:04:46.889Z","repository":{"id":252777878,"uuid":"841419840","full_name":"wellcomez/lspvi","owner":"wellcomez","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-21T16:41:26.000Z","size":318489,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-26T17:49:02.240Z","etag":null,"topics":["lsp","lsp-client","vi","vim"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wellcomez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-12T11:22:04.000Z","updated_at":"2025-02-01T04:40:04.000Z","dependencies_parsed_at":"2024-09-08T17:39:37.966Z","dependency_job_id":"87894839-1c76-47c7-bddd-a35742c8d9c2","html_url":"https://github.com/wellcomez/lspvi","commit_stats":{"total_commits":1718,"total_committers":3,"mean_commits":572.6666666666666,"dds":0.04889406286379516,"last_synced_commit":"af17f5302bfdd09fcdefa383ff506c40859994c8"},"previous_names":["wellcomez/lspvi"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/wellcomez/lspvi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellcomez%2Flspvi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellcomez%2Flspvi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellcomez%2Flspvi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellcomez%2Flspvi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wellcomez","download_url":"https://codeload.github.com/wellcomez/lspvi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellcomez%2Flspvi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T13:02:32.985Z","status":"ssl_error","status_checked_at":"2026-01-28T13:02:04.945Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["lsp","lsp-client","vi","vim"],"created_at":"2024-09-24T19:55:51.427Z","updated_at":"2026-01-28T14:04:46.872Z","avatar_url":"https://github.com/wellcomez.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About lspvi\n\nlspvi is tui code reader powsered by lsp. **Just code reader not editor**\n\nIt provides goto define ,goto declaration, call hierarchy,reference  etc which also provided by common ide.\n\nBut compared with vscode,neovim ..., lspvi provide  more powerful function for call hierarchy,reference  to analyze code.\n\nIt can prvoides **UML call sequence** which can help you to understand the code. \n\nIt also support fzf search for files and text, symbol ,call reference,live grep, word grep. \n\nAll above features are built in single binary not need to install plugin. Binary also includes built-in web server by which you can view uml in browser.\n\n![terminal](screen1.png)\n\n![uml](main.png)\n\n## Mouse Support\n\nAlthough it run in terminal, it supports mouse click, wheel scrolling as well as gui. So if you are not vimer, it is also easy to use.\n\n\n## User in Browser/Remotely\n- start as web server\n~~~sh\nlspvi -gui\n~~~\n- open browser \n\nstart with 13000\n**https** must be used\n[https:://localhost:1300x](https:://localhost:13000)\n\n![webpng](web.png)\n- with power of xterm.js \n\n## lsp supported\n\n- gopls\n- clangd\n- python\n- typescript /javascript\n\n**prerequisite**:\n\nabove lsp serveries you have installed\n\n## Install\n\n```sh\ngit submodule init  \u0026\u0026 git submodule update --recursive\ngo build\n./lspvi --root \"prj root\"\n```\n\n## platform /os\n\n- MACOS \n- linux \n- windows\n\n## docker\n\n```sh\ncd docker\n```\n\n1. build docker\n   \n   ```sh\n   ./dockbuild.sh create\n   ```\n2. run docker \n   \n   ```sh\n   ./dockbuild.sh \n   ```\n\n## Keymap\n\nIt supports most of common keymap of [neo]vim. **Space** will invoke menu and  choose **help** or   **space + h** will invoke keymap help.\n\n![keymap](keymap.png)\n\n| key            | function               |\n| -------------- | ---------------------- |\n| escape + f     | file in file           |\n| escape + *     | file in file vi        |\n| escape + /     | search mode            |\n| escape + 0     | goto line head         |\n| escape + c     | goto callin            |\n| escape + r     | goto refer             |\n| escape + k     | up                     |\n| escape + %     | match                  |\n| escape + Up    | up                     |\n| escape + h     | left                   |\n| escape + Left  | left                   |\n| escape + l     | right                  |\n| escape + Right | right                  |\n| escape + j     | down                   |\n| escape + Down  | down                   |\n| escape + e     | word right             |\n| escape + b     | word left              |\n| escape + yy    | Copy                   |\n| escape + y     | Copy                   |\n| escape + gd    | goto define            |\n| escape + gr    | goto refer             |\n| escape + gg    | goto first line        |\n| escape + G     | goto first line        |\n| escape + B     | Bookmark               |\n| escape + xf    | goto file explorer     |\n| space + f      | picker file            |\n| space + fw     | grep word              |\n| space + ws     | query workspace symbol |\n| space + hq     | quickfix history       |\n| space + r      | reference              |\n| space + hh     | history                |\n| space + o      | open symbol            |\n| menu + o       | open symbol            |\n| menu + q       | quickfix history       |\n| menu + r       | reference              |\n| menu + B       | bookmark               |\n| menu + g       | live grep              |\n| menu + hh      | history                |\n| menu +         | colorscheme            |\n| menu + wk      | workspace              |\n| menu + fw      | grep word              |\n| menu + ff      | Search in files        |\n| menu + f       | picker file            |\n| menu + h       | help                   |\n| menu + ws      | query workspace symbol |\n| menu + Q       | Quit                   |\n| ctrl+w j       | next window down       |\n| ctrl+w k       | next window up         |\n| ctrl+w h       | next window left       |\n| ctrl+w l       | next window right      |\n| ctrl+w Down    | next window down       |\n| ctrl+w Up      | next window up         |\n| ctrl+w Left    | next window left       |\n| ctrl+w Right   | next window right      |\n| Ctrl-P         | picker file            |\n| Tab            | tab                    |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwellcomez%2Flspvi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwellcomez%2Flspvi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwellcomez%2Flspvi/lists"}