A paredit mode for lisps in Sublime Text.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore gitignore May 6, 2013
Default (OSX).sublime-keymap Key bindings for the new movement commands Dec 15, 2013
Default.sublime-keymap Key bindings for the new movement commands Dec 15, 2013
Main.sublime-menu Fixed keybind menu items for osx Oct 15, 2013
README.md use code tag instead of strong Dec 15, 2013
barfage_slurpage.py use shared.truthy(...) to check if not none Jul 12, 2013
deleting_killing.py deleting deletes everything in comments & strings Jul 12, 2013
depth.py paredit-raise-sexp implementation Jul 28, 2013
insertion.py paredit_doublequote skips on end quote Jan 30, 2014
miscellaneous.py use shared.truthy(...) to check if not none Jul 12, 2013
movement_navigation.py Initial implementation of new movement commands Dec 15, 2013
paredit.sublime-commands test command in command palette May 6, 2013
paredit.sublime-settings Set default syntax setting Dec 15, 2013
shared.py added argument skip_words to get_next_expression Dec 15, 2013
test.py

README.md

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.