/paredit-sublime

A paredit mode for lisps in Sublime Text.

Primary LanguagePython

paredit

This is an implementation of paredit for sublime text.

Installation

With package control (recommended)

Use Sublime Package Control, the package is called paredit.

Manually

  1. Clone the repository or download the zipfile.
  2. The resulting folder - either from cloning or unzipping - should be moved to Installed Packages inside your data directory.

Usage

See the cheatsheet.

Keyboard shortcuts

A simpler to read list if you have already checked out the cheatsheet and know what each command does.

               [ " ]: Doublequote
               [ ( ]: Open Round
               [ ) ]: Close Round
           [ ALT ; ]: Comment Dwim
   [ ALT BACKSPACE ]: Backward Kill Word
      [ ALT DELETE ]: Forward Kill Word
           [ ALT S ]: Splice Sexp
     [ ALT SHIFT ' ]: Meta Doublequote
     [ ALT SHIFT 9 ]: Wrap Round
     [ ALT SHIFT J ]: Join Sexp
     [ ALT SHIFT S ]: Split Sexp
     [ ALT SHIFT [ ]: Wrap Curly
           [ ALT [ ]: Wrap Square
       [ BACKSPACE ]: Backward Delete
      [ CTRL ALT B ]: Backward
      [ CTRL ALT F ]: Forward
          [ CTRL J ]: Newline
          [ CTRL K ]: Kill
    [ CTRL SHIFT 0 ]: Forward Slurp Sexp
    [ CTRL SHIFT 9 ]: Backward Slurp Sexp
    [ CTRL SHIFT K ]: Kill Expression
    [ CTRL SHIFT [ ]: Backward Barf Sexp
    [ CTRL SHIFT ] ]: Forward Barf Sexp
          [ DELETE ]: Forward Delete
               [ [ ]: Open Square
               [ ] ]: Close Square
               [ { ]: Open Curly
               [ } ]: Close Curly

Configuration

Paredit configuration can be found in the menu Preferences->Package Settings->Paredit. It has the following menu items:

Enabled If unchecked paredit is completely disabled. The checkbox does not reflect if the current file uses paredit or not.
Settings - Default The default settings. Should not be edited.
Settings - User Add your own custom settings here. See below for more info.
Key Bindings – Default The default bindings for all platforms. Should not be edited.
Key Bindings – OSX Extension Only on OSX. Adds extra bindings for osx involving the *meta* key.
Key Bindings – User Add your own custom bindings here.

The settings are:

enabled Completely enable or disable paredit. Default: true
strict_mode
syntax A list of syntax names which will activate paredit.
		Each item in the list is a regex that will be used to find a match anywhere in the syntax name.

		Find the syntax name of the current file by pressing <code>ctrl+`</code> (to open the console), paste <code>view.settings().get("syntax")</code> into the text field at the bottom and press enter.

		Default: <code>["Clojure", "Lisp"]</code></td></tr>
<tr><td>file_name</td>
	<td>Works exactly like the *syntax* option but activates on file name.

		Default: <code>[]</code></td></tr>

See the default settings (that you open through the menu) for an example on how the file should look.

Implementation Status

Below is a list of all currently not implemented paredit commands from the cheatsheet.

  • paredit-backslash
  • paredit-recentre-on-sexp
  • paredit-reindent-defun
  • paredit-backward-up
  • paredit-backward-down
  • paredit-forward-up
  • paredit-forward-down

Testing

Press ctrl+shift+p to open the command palette. Type test and run Paredit: Run Tests.