Permalink
Browse files

Version 0.8.0

Major update: added SWANK client (many thanks to Philipp Marek), additional changes: split documentation into three parts, added keymapping hints to GUI menu items, renamed Eval-Last-Expression to Eval-Current-Expression, REPL buffer is not syntax highlighted anymore, switch on filetype plugins, autodetection for Allegro CL, Lisp Cabinet and Leiningen, ask for save before compiling file, map <Tab> for completion, bugfixes: finding start of keyword in completion, deleting escaped " inside string, Up/Down/Enter handling in popup menu.
  • Loading branch information...
1 parent 80ffc58 commit 57ab4b2a3aa64e8795d419ae693c96f96817071c @kovisoft kovisoft committed with Apr 15, 2011
Showing with 53,591 additions and 745 deletions.
  1. +24 −24 README
  2. +324 −0 doc/paredit.txt
  3. +139 −402 doc/slimv.txt
  4. +334 −0 doc/swank.txt
  5. +33 −6 ftplugin/clojure/slimv-clojure.vim
  6. +29 −17 ftplugin/lisp/slimv-lisp.vim
  7. +983 −294 ftplugin/slimv.vim
  8. +782 −0 ftplugin/swank.py
  9. +11 −2 plugin/paredit.vim
  10. +20,255 −0 slime/ChangeLog
  11. +48 −0 slime/README
  12. +30 −0 slime/contrib/README
  13. +1,547 −0 slime/contrib/swank-arglists.lisp
  14. +214 −0 slime/contrib/swank-asdf.lisp
  15. +291 −0 slime/contrib/swank-c-p-c.lisp
  16. +69 −0 slime/contrib/swank-clipboard.lisp
  17. +871 −0 slime/contrib/swank-fancy-inspector.lisp
  18. +629 −0 slime/contrib/swank-fuzzy.lisp
  19. +16 −0 slime/contrib/swank-hyperdoc.lisp
  20. +46 −0 slime/contrib/swank-indentation.lisp
  21. +85 −0 slime/contrib/swank-listener-hooks.lisp
  22. +23 −0 slime/contrib/swank-media.lisp
  23. +66 −0 slime/contrib/swank-motd.lisp
  24. +64 −0 slime/contrib/swank-package-fu.lisp
  25. +320 −0 slime/contrib/swank-presentation-streams.lisp
  26. +237 −0 slime/contrib/swank-presentations.lisp
  27. +54 −0 slime/contrib/swank-sbcl-exts.lisp
  28. +68 −0 slime/contrib/swank-snapshot.lisp
  29. +144 −0 slime/contrib/swank-sprof.lisp
  30. 0 {ftplugin → slime}/metering.lisp
  31. +523 −0 slime/nregex.lisp
  32. +332 −0 slime/sbcl-pprint-patch.lisp
  33. +29 −0 slime/start-swank.lisp
  34. +719 −0 slime/swank-abcl.lisp
  35. +908 −0 slime/swank-allegro.lisp
  36. +1,327 −0 slime/swank-backend.lisp
  37. +770 −0 slime/swank-ccl.lisp
  38. +850 −0 slime/swank-clisp.lisp
  39. +2,591 −0 slime/swank-cmucl.lisp
  40. +568 −0 slime/swank-corman.lisp
  41. +791 −0 slime/swank-ecl.lisp
  42. +166 −0 slime/swank-gray.lisp
  43. +951 −0 slime/swank-lispworks.lisp
  44. +281 −0 slime/swank-loader.lisp
  45. +246 −0 slime/swank-match.lisp
  46. +124 −0 slime/swank-rpc.lisp
  47. +1,666 −0 slime/swank-sbcl.lisp
  48. +2,030 −0 slime/swank-scl.lisp
  49. +122 −0 slime/swank-source-file-cache.lisp
  50. +148 −0 slime/swank-source-path-parser.lisp
  51. +39 −0 slime/swank.asd
  52. +3,994 −0 slime/swank.lisp
  53. +2,891 −0 slime/xref.lisp
  54. +227 −0 swank-clojure/COPYING
  55. +152 −0 swank-clojure/README.md
  56. +30 −0 swank-clojure/leiningen/swank.clj
  57. +9 −0 swank-clojure/project.clj
  58. +17 −0 swank-clojure/swank/clj_contrib/macroexpand.clj
  59. +34 −0 swank-clojure/swank/clj_contrib/pprint.clj
  60. +14 −0 swank-clojure/swank/commands.clj
  61. +601 −0 swank-clojure/swank/commands/basic.clj
  62. +103 −0 swank-clojure/swank/commands/completion.clj
  63. +9 −0 swank-clojure/swank/commands/contrib.clj
  64. +123 −0 swank-clojure/swank/commands/contrib/swank_arglists.clj
  65. +21 −0 swank-clojure/swank/commands/contrib/swank_c_p_c.clj
  66. +59 −0 swank-clojure/swank/commands/contrib/swank_c_p_c/internal.clj
  67. +428 −0 swank-clojure/swank/commands/contrib/swank_fuzzy.clj
  68. +100 −0 swank-clojure/swank/commands/indent.clj
  69. +323 −0 swank-clojure/swank/commands/inspector.clj
  70. +51 −0 swank-clojure/swank/commands/xref.clj
  71. +388 −0 swank-clojure/swank/core.clj
  72. +68 −0 swank-clojure/swank/core/connection.clj
  73. +4 −0 swank-clojure/swank/core/hooks.clj
  74. +50 −0 swank-clojure/swank/core/protocol.clj
  75. +102 −0 swank-clojure/swank/core/server.clj
  76. +29 −0 swank-clojure/swank/core/threadmap.clj
  77. +6 −0 swank-clojure/swank/dev.clj
  78. +101 −0 swank-clojure/swank/loader.clj
  79. +159 −0 swank-clojure/swank/rpc.clj
  80. +92 −0 swank-clojure/swank/swank.clj
  81. +72 −0 swank-clojure/swank/util.clj
  82. +149 −0 swank-clojure/swank/util/class_browse.clj
  83. +33 −0 swank-clojure/swank/util/clojure.clj
  84. +31 −0 swank-clojure/swank/util/concurrent/mbox.clj
  85. +50 −0 swank-clojure/swank/util/concurrent/thread.clj
  86. +12 −0 swank-clojure/swank/util/hooks.clj
  87. +40 −0 swank-clojure/swank/util/io.clj
  88. +16 −0 swank-clojure/swank/util/java.clj
  89. +57 −0 swank-clojure/swank/util/net/sockets.clj
  90. +16 −0 swank-clojure/swank/util/string.clj
  91. +13 −0 swank-clojure/swank/util/sys.clj
View
48 README
@@ -1,24 +1,17 @@
This is a mirror of http://www.vim.org/scripts/script.php?script_id=2531
-Slimv tries to mimic a subset of SLIME's (Superior Lisp Interaction Mode for Emacs) functionality inside Vim on Linux, Windows and Mac OS X. The script defines functions and keybindings to send s-expressions to a console mode Lisp or Clojure REPL (Read-Eval-Print Loop). Slimv runs its own REPL or connects to a running REPL started by a previous Slimv session, the connection is established when the first Slimv command is executed (e.g. an s-expression is evaluated).
+Slimv is a SWANK client for Vim, similarly to SLIME for Emacs. SWANK is a TCP server for Emacs, which runs a Common Lisp or Clojure REPL and provides a socket interface for evaluating, compiling, debugging, profiling lisp code. The SWANK server is embedded in Slimv, but you can also use your own SWANK installation.
-The Lisp REPL buffer can also be opened inside Vim as a Vim buffer with syntax highlighting and autoindenting, Lisp commands may be entered in the command line, just as in a regular REPL. The script also has a basic support for Clojure REPL.
+Slimv opens the lisp or clojure REPL (Read-Eval-Print Loop) inside a Vim buffer. Lisp commands may be entered and executed in the REPL buffer, just as in a regular REPL.
-Slimv supports the same profiling tool that comes with SLIME. The script also has a Common Lisp Hyperspec lookup feature and it is able to lookup symbols in the Clojure API, as well as in JavaDoc. Symbol name completion is supported via Vim's omni-completion based on the hyperspec symbol database.
+Slimv supports SLIME's debugger, profiler, cross reference, symbol name completion functions. The script also has a Common Lisp Hyperspec lookup feature and it is able to lookup symbols in the Clojure API, as well as in JavaDoc.
Slimv comes with Paredit Mode, which is similar to the functionality of paredit.el in Emacs. Paredit Mode tries to maintain the balanced state of matched characters (parenthesis marks, square brackets, double quotes). Matched characters are inserted and removed in pairs, also when working with a block of text (well, mostly). Slimv also implements many paredit.el s-expression handling functions, like Split/Join/Wrap/Splice. Slurpage and Barfage known from Emacs is also possible but in a different fashion: you don't move the list element in or out of the list, rather you move the opening or closing parenthesis over the element or sub-list.
-Check out the screenshot of Slimv having a clisp REPL buffer:
-http://img6.imageshack.us/img6/5104/slimvscreenshotx.png
-
-Another screenshot of Slimv running the Clojure Ants demo:
-http://img21.imageshack.us/img21/3949/slimvants.png
-
-And this is the symbol name completion in action (no, the pink background is not done by Slimv, this is Vim's default):
-http://img18.imageshack.us/img18/5859/slimvcompl.png
+Please visit the Slimv Tutorial for a more complete introduction:
+http://kovisoft.bitbucket.org/tutorial.html
Here follows a list of Slimv commands, any similarity with SLIME's menu is not coincidental. :)
-For a more complete description with keybindings see the included documentation.
Edit commands:
* Close Form
@@ -27,18 +20,17 @@ Edit commands:
Evaluation commands:
* Eval Defun
- * Eval Last Expression
- * Pprint Eval Last Expression
+ * Eval Current Expression
* Eval Region
* Eval Buffer
* Interactive Eval
* Undefine Function
Debug commands:
* Macroexpand-1
- * Macroexpand
- * Trace
- * Untrace
+ * Macroexpand All
+ * Toggle Trace
+ * Untrace All
* Disassemble
* Inspect
@@ -48,10 +40,19 @@ Compile commands:
* Compile File
* Compile Region
+Cross Reference commands
+ * Who Calls
+ * Who References
+ * Who Sets
+ * Who Binds
+ * Who Macroexpands
+ * Who Specializes
+ * List Callers
+ * List Callees
+
Profile commands:
- * Load Profiler
- * Profile
- * Unprofile
+ * Toggle Profile
+ * Profile By Substring
* Unprofile All
* Show Profiled
* Profile Report
@@ -65,12 +66,11 @@ Documentation commands:
REPL commands:
* Connect to Server
- * Send Input
* Interrupt Lisp Process
+ * Send Input
* Close and Send Input
+ * Set Package
* Previous Input
* Next Input
-Many Slimv commands operate on s-expressions or symbols, just like in SLIME. Place the cursor at any location inside the s-expression or on the symbol's name then invoke the command. This builds a command specific form and sends it to the running REPL for evaluation.
-
-For more information see the documentation coupled with the script, please refer to section "External Utilities" for other useful Lisp editing tips not covered by Slimv.
+For more information see the included documentation.
Oops, something went wrong.

0 comments on commit 57ab4b2

Please sign in to comment.