{"id":20714297,"url":"https://github.com/travel-cli/hikko","last_synced_at":"2025-07-19T07:05:58.923Z","repository":{"id":152071805,"uuid":"543144175","full_name":"Travel-CLI/hikko","owner":"Travel-CLI","description":"Convenient and stable configuration for Neovim with a convenient manager for plugins, which I have been using for quite a long time. The configuration is suitable for those who write in Python, Rust, Javascript, Vue / React","archived":false,"fork":false,"pushed_at":"2023-02-25T12:40:31.000Z","size":63,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T23:11:09.226Z","etag":null,"topics":["config","javascript","linux","lua","mac","neovim","python","rust","typescript","vim"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/Travel-CLI.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":null,"open_collective":"daniil-shilo","ko_fi":"kiotosi","liberapay":"kiotosi","issuehunt":"kiotosi"}},"created_at":"2022-09-29T13:40:16.000Z","updated_at":"2023-09-23T17:48:44.000Z","dependencies_parsed_at":"2023-07-11T22:33:17.663Z","dependency_job_id":null,"html_url":"https://github.com/Travel-CLI/hikko","commit_stats":null,"previous_names":["travel-cli/hikko"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Travel-CLI%2Fhikko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Travel-CLI%2Fhikko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Travel-CLI%2Fhikko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Travel-CLI%2Fhikko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Travel-CLI","download_url":"https://codeload.github.com/Travel-CLI/hikko/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250398805,"owners_count":21424053,"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":["config","javascript","linux","lua","mac","neovim","python","rust","typescript","vim"],"created_at":"2024-11-17T02:30:51.098Z","updated_at":"2025-04-23T08:29:08.710Z","avatar_url":"https://github.com/Travel-CLI.png","language":"Lua","funding_links":["https://opencollective.com/daniil-shilo","https://ko-fi.com/kiotosi","https://liberapay.com/kiotosi","https://issuehunt.io/r/kiotosi"],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"flex\" align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/101672047/193060978-7bacb770-ee07-4b87-9256-e3749829c4b2.gif\" alt=\"Logo\"\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"flex\" align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/neovim-v0.8.0--dev--nightly--1-green\" alt=\"Neovim Badge\"\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"flex\" align=\"center\"\u003e\n  Universal neovim configuration for JavaScript, Python, TypeScript and Rust.\n\u003c/div\u003e\n\u003cbr\u003e\n\n\u003e **Hikikomori** (Japanese: ひきこもり or 引きこもり, lit. \"pulling inward, being confined\"), also known as acute social withdrawal, is total withdrawal from society and seeking extreme degrees of social isolation and confinement. Hikikomori refers to both the phenomenon in general and the recluses themselves. Hikikomori have been described as loners or \"modern-day hermits\". Estimates suggest that half a million Japanese youths have become social recluses, as well as more than half a million middle-aged individuals.\n\u003e\n\u003e [Wikipedia](https://en.wikipedia.org/wiki/Hikikomori)\n\n## Features\n- Automatic installation of package manager (`packer`)\n- Automatic installation of lsp for:\n  - Python\n  - Rust\n  - TypeScript\n    - Vue\n    - Eslint\n    - Prettier\n  - JavaScript\n  - Lua\n  - Neovim Lua\n- Minimal UI overdrive\n- No remapped standard hotkeys\n- Smart formatting (via formatters or with standard method)\n- No default plugins (like NetRW) and other shit\n- Module installer\n\n\u003cdiv align=\"center\" style=\"flex\"\u003e\n    \u003cimg width=\"1082\" alt=\"image\" src=\"https://user-images.githubusercontent.com/101672047/193386750-42dda9a8-a1f9-4c35-84f8-710c46924ebd.png\"\u003e\n\u003c/div\u003e\n\n\n\n## Installation\n```bash\n\n# Exporting default nvim folder\nexport NVIM_DIR=\"$HOME/.config/nvim\";\n\n# Making backup of your old configuration\n[[ -d $NVIM_DIR ]] \u0026\u0026 mv NVIM_DIR \"NVIM_DIR-old\";\n\n# Cloning new config\ngit clone https://github.com/crackidocky/hikko\\\n $HOME/.config/nvim;\n\n# Downloading packer (plugin manager)\ngit clone --depth 1 https://github.com/wbthomason/packer.nvim\\\n ~/.local/share/nvim/site/pack/packer/start/packer.nvim\n```\n\nAfter you enter the Neovim, just enter:\n```vim\n:PackerSync\n```\n\n## Supported Languages\n\u003cdiv style=\"flex\" align=\"center\"\u003e\n  \u003cimg width=\"80\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/typescript/typescript-original.svg\" /\u003e\n  \u003cimg width=\"80\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/javascript/javascript-original.svg\" /\u003e\n  \u003cimg width=\"80\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg\" /\u003e\n  \u003cimg width=\"80\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/rust/rust-plain.svg\" /\u003e\n  \u003cimg width=\"80\"src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/vuejs/vuejs-original.svg\" /\u003e\n  \u003cimg width=\"80\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/lua/lua-original.svg\" /\u003e\n\u003c/div\u003e\n\n# How does plugin manager works\nIn directory `lua/plugins/`, you have a lot of files inside which are configurations for plugins. At the end of each file, we return a function, that takes a `use` callback. `use` is a special function provided by [packer](https://github.com/wbthomason/packer.nvim) in order to use the plugin.\n\nIf we go to directory `lua/utils/`, then we will see a file called `installer.lua`, in which each file from directory `lua/plugins/` is imported. In the `installer.lua` file, we declare an empty hash table, and also indicate that it will have a certain `M.use` field, which is equal to `nil` for now. Each property inside `M` is a function that will expose the code we need, but for now we don't have a `use` callback.\n\nNow if we go to the `lua/manager.lua` file, we will see that we are using the standard boilerplate for the packer - we are declaring a function inside which `use` will finally become available to us.\n\nWe assign `use` to the `M.use` field, and then we start calling the properties we need from the `M` table, which will later expand into the code that is needed to declare to Packer that the plugin is used.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftravel-cli%2Fhikko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftravel-cli%2Fhikko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftravel-cli%2Fhikko/lists"}