All Projects → banacorn → Agda Mode

banacorn / Agda Mode

Licence: mit
agda-mode on Atom

Programming Languages

reason
219 projects

Labels

Projects that are alternatives of or similar to Agda Mode

Atcon
atom condtions
Stars: ✭ 27 (-53.45%)
Mutual labels:  atom
Atom
Safe atomic pointers
Stars: ✭ 35 (-39.66%)
Mutual labels:  atom
Atom Pull Requests
View/Edit comments on a Pull Request directly inside the Atom Editor
Stars: ✭ 47 (-18.97%)
Mutual labels:  atom
Fizzy
🍇 🍓 🍊 A lovely, bright and lively syntax theme for Atom.
Stars: ✭ 29 (-50%)
Mutual labels:  atom
Envy
Text editing supercharger
Stars: ✭ 35 (-39.66%)
Mutual labels:  atom
My Configurations
Chris Hough's .dot files + workstation setup
Stars: ✭ 40 (-31.03%)
Mutual labels:  atom
Github
Git and GitHub integration for Atom
Stars: ✭ 880 (+1417.24%)
Mutual labels:  atom
Atom File Types
Specify additional file types for languages.
Stars: ✭ 54 (-6.9%)
Mutual labels:  atom
Atom Stylefmt
Format your CSS using stylefmt.
Stars: ✭ 35 (-39.66%)
Mutual labels:  atom
Go Signature Statusbar
Display the signature of the current Go function under the cursor in the status bar of Atom
Stars: ✭ 44 (-24.14%)
Mutual labels:  atom
Atom Vim Mode Plus Ex Mode
Experiment to implement ex-mode for vim-mode-plus
Stars: ✭ 30 (-48.28%)
Mutual labels:  atom
Feeds2imap.clj
Pull RSS/Atom feeds to your IMAP folders with Clojure on JVM.
Stars: ✭ 31 (-46.55%)
Mutual labels:  atom
Alfred Atom
Alfred workflow to browse and open Atom projects
Stars: ✭ 41 (-29.31%)
Mutual labels:  atom
Language Liquid
Liquid language support for Atom.
Stars: ✭ 28 (-51.72%)
Mutual labels:  atom
Terminus
Terminus, a terminal for Atom! - Looking for collaborators hop in, at your next bus stop :-)
Stars: ✭ 49 (-15.52%)
Mutual labels:  atom
Atom Annotations
Atom package that shows annotations (e.g. for overriden methods interface implementations) in your PHP source code.
Stars: ✭ 14 (-75.86%)
Mutual labels:  atom
Language Vue Component
Adds syntax highlighting to Vue Component files in Atom
Stars: ✭ 39 (-32.76%)
Mutual labels:  atom
Atom
Atom file-specific icons for improved visual grepping.
Stars: ✭ 1,093 (+1784.48%)
Mutual labels:  atom
Autocomplete Ruby
Provides intelligent code completion for Ruby in the Atom editor. Requires RSense.
Stars: ✭ 50 (-13.79%)
Mutual labels:  atom
Atom Flutter
An Atom plugin for Flutter developers
Stars: ✭ 42 (-27.59%)
Mutual labels:  atom

agda-mode on Atom

For people who don't wanna use Emacs for whatever reasons.

⚠️ Project status ⏸️

Sorry, people on Atom. Please consider using the new agda-mode on VS Code.

Requirements

Installation

  1. Install this package:
  • from the editor: Atom > Preferences... > Install, search for agda-mode and install
  • or from a shell: apm install agda-mode
  1. Ensure you have agda properly installed (check this in your console, type agda and see if it's in the PATH).

Syntax Highlighting

Unlike on Emacs, agda-mode on Atom doesn't come with syntax highlighting bundled, nor does it highlight your code dynamically on load (yet).

To have your code highlighted:

  1. Install language-agda:
  • from the editor: Atom > Preferences... > Install, search for language-agda and install
  • or from a shell: apm install language-agda

Extra perk: with language-agda installed, commands such as input-symbol, go-to-definition can be invoked without having to load first.

Recommanded Settings

Enable Scroll Past End

Go to Settings > Editor > Scroll Past End and enable it to allow the editor to be scrolled past the end of the last line. The reason is that the height of the "panel" at the bottom is constantly changing, and it's pretty annoying to have the editor jumping up and down with the panel.

Commands

  • C-c stands for "press Ctrl and c at the same time"
  • When it comes to combos like C-c C-l, you can often slur them into "hold Ctrl while pressing c and then l"

This is an (not so) exhaustive list of available commands:

Keymap Command Global Goal-specific
C-c C-l load a file
C-c C-x C-q quit
C-c C-x C-r kill and restart Agda
C-c C-x C-c compile
C-c C-x C-a abort
C-c C-x C-h toggle display of implicit arguments
C-c C-= show constraints
C-c C-s solve constraints
C-c C-? show goals
C-c C-f next goal (forward)
C-c C-b previous goal (back)
C-alt-\ or alt-cmd-\ go to definition
C-c C-x C-d toggle panel docking
C-c C-n compute normal form
C-u C-c C-n compute normal form (ignoring abstract)
C-u C-u C-c C-n compute normal form (use show instance)
C-c C-w why in scope
C-c C-SPC give
C-c C-r refine
C-c C-a auto
C-c C-c case

Commands listed below support 3 different levels of normalization.

Keymap Command Global Goal-specific
C-c C-z search about
C-c C-d infer type
C-c C-o module contents
C-c C-t goal type
C-c C-e context
C-c C-, goal type and context
C-c C-. goal type and inferred type

Levels of normalization

Prefix Normalization
Simplified
C-u No normalization
C-u C-u Full normalization

For example, C-u C-c C-d if you want to infer a type without normalizing it. See Agda:Issue 850 for more discussion.

Unicode input method

To invoke the input method, press \ or alt-/ in .agda or .lagda files. The key mapping of symbols are the same as in Emacs. For example: \bN for , \all for , \r or \to for , etc.

Keymap Command
\ or alt-/ input symbol
C-u C-x C-= lookup the key mapping of a symbol

To customize the keymap, open the settings tab (at the bottom right) and go to Input Method > Keymap extensions

Trouble shooting

Windows 10

If you are having trouble using agda-mode on Windows 10 (symptoms: #97, #98, #110) Please consider follow these instructions and see if it works:

  1. Go to the system's Language settings
  2. Select Administrative language settings
  3. Click Change system locale...
  4. Check Beta: Use Unicode UTF-8 for worldwide language support

Contribute

See HACKING

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].