{"id":13688365,"url":"https://github.com/banacorn/agda-mode-vscode","last_synced_at":"2025-04-12T22:31:37.736Z","repository":{"id":37072526,"uuid":"236171293","full_name":"banacorn/agda-mode-vscode","owner":"banacorn","description":"agda-mode on VS Code","archived":false,"fork":false,"pushed_at":"2025-03-28T11:14:55.000Z","size":4956,"stargazers_count":174,"open_issues_count":57,"forks_count":42,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-04T01:46:29.026Z","etag":null,"topics":["agda","agda-mode","reasonml","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=banacorn.agda-mode","language":"ReScript","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/banacorn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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-01-25T13:05:31.000Z","updated_at":"2025-03-30T03:10:24.000Z","dependencies_parsed_at":"2023-02-08T08:31:21.310Z","dependency_job_id":"4bfe3482-52aa-45d0-8b98-e45f50d22cf9","html_url":"https://github.com/banacorn/agda-mode-vscode","commit_stats":{"total_commits":1151,"total_committers":28,"mean_commits":"41.107142857142854","dds":0.06863596872284972,"last_synced_commit":"cb3acd2b25267af374df987572855b72e595fc99"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banacorn%2Fagda-mode-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banacorn%2Fagda-mode-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banacorn%2Fagda-mode-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banacorn%2Fagda-mode-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/banacorn","download_url":"https://codeload.github.com/banacorn/agda-mode-vscode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248640031,"owners_count":21137959,"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":["agda","agda-mode","reasonml","vscode","vscode-extension"],"created_at":"2024-08-02T15:01:12.204Z","updated_at":"2025-04-12T22:31:37.705Z","avatar_url":"https://github.com/banacorn.png","language":"ReScript","funding_links":[],"categories":["ReScript"],"sub_categories":[],"readme":"# agda-mode on VS Code\n\n## Installation\n\nIf you have [Agda](https://agda.readthedocs.io/en/latest/getting-started/installation.html) properly installed (to check this in your terminal, type `agda` and see if it's on your machine). Open an Agda file and you should be able to load it by typing \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-l\u003c/kbd\u003e.\n\nIt's okay if you don't have Agda installed, we can also download and install [Agda Langauge Server](https://github.com/agda/agda-language-server) for you on Windows, macOS, or Ubuntu.\n\nYou can install multiple versions of Agda or ALS by adding more paths to `agdaMode.connection.paths` in the settings, and switch between them with \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-r\u003c/kbd\u003e.\n\n### Extension Activation\n\nTo activate the extension, open an Agda file, and trigger either of these 2 commands:\n\n| Command                       |            Keymap             |\n| :---------------------------- | :---------------------------: |\n| load                          | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-l\u003c/kbd\u003e |\n| activate unicode input method |         \u003ckbd\u003e\\\\\u003c/kbd\u003e         |\n\nSee the next section for the exhaustive list of other commands.\nYou will get `command ... not found` if you try to trigger other commands without activating the extension first.\n\n## Commands\n\n* \u003ckbd\u003eC-c\u003c/kbd\u003e stands for \"press \u003ckbd\u003eCtrl\u003c/kbd\u003e and \u003ckbd\u003ec\u003c/kbd\u003e at the same time\"\n* When it comes to combos like \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-l\u003c/kbd\u003e, you can often slur\nthem into \"hold \u003ckbd\u003eCtrl\u003c/kbd\u003e while pressing \u003ckbd\u003ec\u003c/kbd\u003e and then \u003ckbd\u003el\u003c/kbd\u003e\"\n\nCommands working with types (marked with the 🎚 emoji below) can have different levels of normalization. \nPrefix commands with `C-u`, `C-u C-u`, or `C-u C-u  C-u` to change the level of normalization or rewrite like in Emacs.\n\n### Global commands\n\n| Command                                 |            Keymap             |\n| :-------------------------------------- | :---------------------------: |\n| load                                    | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-l\u003c/kbd\u003e |\n| compile                                 | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-c\u003c/kbd\u003e |\n| quit                                    | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-q\u003c/kbd\u003e |\n| quit and restart                        | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-r\u003c/kbd\u003e |\n| toggle display of hidden arguments      | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-h\u003c/kbd\u003e |\n| toggle display of irrelevant arguments  | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-i\u003c/kbd\u003e |\n| show constraints                        | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-=\u003c/kbd\u003e |\n| solve constraints 🎚                     | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-s\u003c/kbd\u003e |\n| show all goals 🎚                        | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-?\u003c/kbd\u003e |\n| move to next goal (forward)             | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-f\u003c/kbd\u003e |\n| move to previous goal (backwards)       | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-b\u003c/kbd\u003e |\n| infer type 🎚                            | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-d\u003c/kbd\u003e |\n| module contents 🎚                       | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-o\u003c/kbd\u003e |\n| search definitions in scope 🎚           | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-z\u003c/kbd\u003e |\n| compute normal form 🎚                  | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-n\u003c/kbd\u003e |\n| switch to a different installation of Agda or ALS | \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-s\u003c/kbd\u003e |\n| Unicode symbol input sequences lookup   | \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-=\u003c/kbd\u003e |\n\n### Commands in context of a goal\n\n| Command                                 |             Keymap              |\n| :-------------------------------------- | :-----------------------------: |\n| give (fill goal)                        | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-SPC\u003c/kbd\u003e |\n| refine                                  |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-r\u003c/kbd\u003e  |\n| elaborate and give 🎚                    |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-m\u003c/kbd\u003e  |\n| auto 🎚                                  |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-a\u003c/kbd\u003e  |\n| case split                              |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-c\u003c/kbd\u003e  |\n| compute helper function type and copy 🎚 |  \u003ckbd\u003eC-y\u003c/kbd\u003e \u003ckbd\u003eC-h\u003c/kbd\u003e  |\n| goal type 🎚                             |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-t\u003c/kbd\u003e  |\n| context (environment) 🎚                 |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-e\u003c/kbd\u003e  |\n| infer type 🎚                            |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-d\u003c/kbd\u003e  |\n| goal type and context 🎚                 |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-,\u003c/kbd\u003e  |\n| goal type, context and inferred term 🎚  |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-.\u003c/kbd\u003e  |\n| goal type, context and checked term  🎚  |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-;\u003c/kbd\u003e  |\n| module contents 🎚                       |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-o\u003c/kbd\u003e  |\n| compute normal form 🎚                   | \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-n\u003c/kbd\u003e |\n| why in scope                            |  \u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-w\u003c/kbd\u003e  |\n\n### Commands yet to be implemented\n\n| Command                          |            Keymap             |\n| :------------------------------- | :---------------------------: |\n| abort a command                  | \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-a\u003c/kbd\u003e |\n| remove goals and highlighting    | \u003ckbd\u003eC-x\u003c/kbd\u003e \u003ckbd\u003eC-d\u003c/kbd\u003e |\n| comment/uncomment rest of buffer |                               |\n\n## Unicode Input\n\nPretty much the same like on Emacs.\nPress backslash \"\\\\\" and you should see a keyboard popping up in the panel, with key suggestions and symbol candidates. Use arrow keys to explore and navigate between the candidates (if there's any).\n\nUnicode input also works in the input prompt, though it's a bit less powerful.\n\nIf you are having trouble typing the backslash \"\\\\\", you can change it by:\n1. Go to \"Preferences: Open Keyboard Shortcuts\" and configure the keybinding of \"Agda: Activate input method\" (`agda-mode.input-symbol[Activate]`).\n2. Go to \"Settings \u003e Agda Mode \u003e Input Method: Activation Key\" and replace it with the same keybinding as above.\n\nCancel `agdaMode.inputMethod.enable` in the settings to disable the input method.\n\n## Syntax Highlighting\n\nCancel `agdaMode.highlighting.getHighlightWithThemeColors` in the settings if you want to fallback to the old way of highlighting stuff with fixed colors.\n\n## Debug Buffer\n\nExecute `Agda: Open Debug Buffer` in the *Command Palette* to open it.\nThe number at the end of each message indicates its verbosity.\n\n## Troubleshooting\n\n### Agda files won't load, commands don't work\n\nPlease go to \"Preferences: Open Keyboard Shortcuts\" and see if any extension is fighting for the same key combo.\nYou're probably a victim of the [*Vim* extension](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim).\n\n### \"Give\" command not working on macOS\n\n*Give* (\u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-SPC\u003c/kbd\u003e) would trigger \"Spotlight\" (\u003ckbd\u003eC-SPC\u003c/kbd\u003e) on Mac.\nPlease consider using *Refine* (\u003ckbd\u003eC-c\u003c/kbd\u003e \u003ckbd\u003eC-r\u003c/kbd\u003e) instead.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbanacorn%2Fagda-mode-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbanacorn%2Fagda-mode-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbanacorn%2Fagda-mode-vscode/lists"}