{"id":15941827,"url":"https://github.com/benwr/lunicode","last_synced_at":"2025-04-03T21:16:40.581Z","repository":{"id":41078887,"uuid":"508224257","full_name":"benwr/lunicode","owner":"benwr","description":"Make programming in Agda with Neovim less terrible (according to me). Essentially a less-annoying digraphs tool.","archived":false,"fork":false,"pushed_at":"2022-06-28T09:07:06.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T22:13:35.429Z","etag":null,"topics":["digraphs","input-method","math-symbols","neovim","symbols","unicode-characters"],"latest_commit_sha":null,"homepage":"","language":"Vim script","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/benwr.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}},"created_at":"2022-06-28T08:52:55.000Z","updated_at":"2022-06-28T09:08:46.000Z","dependencies_parsed_at":"2022-09-01T09:21:49.363Z","dependency_job_id":null,"html_url":"https://github.com/benwr/lunicode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benwr%2Flunicode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benwr%2Flunicode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benwr%2Flunicode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benwr%2Flunicode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benwr","download_url":"https://codeload.github.com/benwr/lunicode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247078865,"owners_count":20879953,"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":["digraphs","input-method","math-symbols","neovim","symbols","unicode-characters"],"created_at":"2024-10-07T07:21:05.469Z","updated_at":"2025-04-03T21:16:40.566Z","avatar_url":"https://github.com/benwr.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lunicode\n\nA plugin that provides a way to insert special characters that I prefer to the available options for Neovim.\n\n## Installation\n\nAssuming you're using vim-plug or a similar tool, add the following to your plugin section:\n\n```vim\nPlug 'benwr/lunicode'\n```\n\n## Usage\n\nIn order to use this library, you need to (for example) add the following to your init.vim:\n\n```vim\nlet g:lunicode_table = {\n      \\'To': '→',\n      \\'Times': '×',\n      \\}\n```\n\nNow you should be able to use the `\u003cleader\u003ek` operator on any motion. This will search\nthe text contained in the motion for the words \"Times\" and \"To\" (case-sensitive), and\nreplace them with the specified characters.\n\nFrom insert mode, you can use `\u003cC-k\u003e` to quickly enter a motion from the current cursor position,\nor `\u003cC-k\u003e\u003cC-k\u003e` to format the current line.\n\n\nThis is basically how I think digraphs *should* work: You don't need to repeatedly press chords\nto get your expression translated, and there's a lot more flexibility about naming (since the\nwords you use can be anything matching the regex `[A-Z][a-z]*`. The way I typically use this tool\nis when I'm writing, say, a type declaration in Agda. I'll write out the whole line as a sequence\nof CamelCaseSymbols, and when I'm done I'll press `\u003cC-k\u003e\u003cC-k\u003e` to convert it all to unicode.\n\nThere are some obvious downsides here compared to digraphs. You need to fill in your own table\nfrom scratch, and since the words must follow the above regex, there are significantly fewer two-character\ncodes available. But for me personally, this way of doing it is much more ergonomic than digraphs or\nlatex-based snippets.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenwr%2Flunicode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenwr%2Flunicode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenwr%2Flunicode/lists"}