Skip to content

jasom/geany-lisp

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Geany Development Plugin for Common Lisp

This "works on my machine" but is not well tested. Use at your own risk

Requirements

  • Linux (may work on other *nix, but is untested)
  • [[http://geany.org/ | geany]] the oldest version I've tested with is 1.26
  • You will need the plugin-dev headers for the above as well.
  • A lisp executable (currently only tested with sbcl)
  • GNU Emacs
  • A working network connection is required when configuring a project in Geany
    • The plugin downloads a local quicklisp install to the project directory

Installing

PREFIX=$HOME ./configure
./build
./install
  • Enable the plugin from the geany plugin manager
  • Configure keybindings from the geany plugin manager
  • If you wish the "Compile" command to work, copy the filetypes.lisp to ~/.config/geany/filedefs If you do not currently have a filetypes.lisp file in that directory, this will be done automatically the first time you use the plugin.

Current Features

  • Automatic Setup of ASDF and quicklisp for new projects
  • Default the "Make' command to load the project's system into connected image
  • Jump to symbol definition
  • Smart indenting
  • Compile current file
    • Highlight errors and warnings
  • Completion of symbols
  • REPL

Using

This plugin will not do anything until a project has been configured to use the plugin. To do so, open the project you wish to enable to do so and select "Project->Enable GLisp on project" from the menu. This will install a local quicklisp to PROJECT_ROOT/quicklisp, and create an ASDF template using quickproject in PROJECT_ROOT/lisp. It will then alter the project file with an option that includes the command for launching your lisp executable. This defaults to "sbcl --no-sysinit --no-userinit" if you change to a different lisp implementation, ensure that similar options are passed to prevent personal and system configuration initialization scripts from runing.

Known Bugs

  • Tabstop for indentation is hard-coded to 8. It is strongly recommended that you configure geany to use spaces only for indentation for the time being.
    • Note that geany autodetects indentation, so if you open up a file with tabs it may locally use tabs for indentation
    • You can select "Project->Apply default indentation" to set the local file's indentation to be the same as your project's settings.

Unknown Bugs

Probably a lot.