Skip to content

Commit

Permalink
Version 0.9.5
Browse files Browse the repository at this point in the history
Use correct SLDB level when invoking restart. Autodetect tmux session on Linux (thanks to Brett Kosinski). Enable syntax only once to avoid reload of syntax plugins. Added option g:slimv_browser_cmd_suffix. Skip syntax and indent file for disabled filetypes. Check the presence of X on Linux. Indentation fixes: keywords, gap after '(', defsystem, defmacro, symbol-macrolet. Use winsaveview()/winrestview() for remembering current view when moving around (e.g. searching for package). Find package for arglist and completion. Ignore mapleader when it's <Space>. Print SLDB error description also into the REPL buffer. Evaluate keyword if using Eval-Defun outside of s-expression. Disable unsupported swank features for Scheme. Bugfixes: Paredit 'cw' at the end of line. Omit REPL prompt from Eval-Defun and Eval-Expression. Printing of '\n' and other escaped characters. Paredit delete and put corrupted the "0 register.
  • Loading branch information
kovisoft authored and vim-scripts committed Mar 16, 2012
1 parent 97e610b commit 252cca6
Show file tree
Hide file tree
Showing 10 changed files with 283 additions and 112 deletions.
77 changes: 65 additions & 12 deletions doc/slimv.txt
@@ -1,7 +1,7 @@
*slimv.txt* Slimv Last Change: 23 Jan 2012
*slimv.txt* Slimv Last Change: 10 Mar 2012

Slimv *slimv*
Version 0.9.4
Version 0.9.5

The Superior Lisp Interaction Mode for Vim.
This plugin is aimed to help Lisp development by interfacing between Vim and
Expand Down Expand Up @@ -129,6 +129,8 @@ For the Swank options plese visit |swank-configuration|.
|g:slimv_browser_cmd| If nonempty, this command is used to open the
Common Lisp Hyperspec.

|g:slimv_browser_cmd_suffix| Optional suffix for |g:slimv_browser_cmd|

|g:slimv_clhs_root| Base URL for the Common Lisp Hyperspec.

|g:slimv_clhs_user_db| User defined extension for Slimv's built-in
Expand Down Expand Up @@ -346,9 +348,11 @@ plain socket communication is supported, no SSH or whatsoever.

Please note that if the SWANK server is on a remote machine then Slimv is
unable to start it, so you need to run the SWANK server manually.
Actually there is a workaround for this: run Vim inside a GNU screen session.
Slimv will autodetect this and modify the Swank command so that the Swank
server is run inside a newly opened virtual terminal in screen.
Actually there is a workaround for this on Linux: run Vim inside a GNU screen
session. Slimv will autodetect this and modify the Swank command so that the
Swank server is run inside a newly opened virtual terminal in screen.
Slimv also autodetects an existing tmux session, so you can use tmux instead
of GNU screen for the same purpose.

*g:swank_port*
The SWANK server is connected to port 4005 by default. This can be changed
Expand Down Expand Up @@ -383,8 +387,10 @@ Other values mean no predefined keybinding is wanted.

*g:slimv_leader*
This option allows a custom <Leader> setting for the Slimv keybindings.
By default it has the same value as |mapleader|. If neither g:slimv_leader nor
mapleader are defined then the default <Leader> is "," in Slimv.
By default it has the same value as |mapleader|, except when |mapleader| is
<Space> which <Leader> is currently not supported by Slimv.
If neither g:slimv_leader nor |mapleader| are defined or |mapleader| is <Space>
then the default <Leader> is "," in Slimv.
Example:
let g:slimv_leader = '\'
If this is set in the .vimrc then Eval-Defun will be mapped to \d instead of ,d.
Expand All @@ -404,6 +410,16 @@ the .html extension (on Windows) or xdg-open (on Linux) is used to start the
browser. If xdg-open is not installed then the Python webbrowser package is
used to identify the default browser on Linux.

*g:slimv_browser_cmd_suffix*
When using option |g:slimv_browser_cmd| the Hyperspec page URL is appended to
the browser command. However sometimes it might be needed to add a suffix
at the end of the browser command.
Slimv automatically adds the "&" suffix in order to fork the browser and
return control immediately to Vim. If you don't want to fork the browser
then set |g:slimv_browser_cmd_suffix| to "". Also use this option if you want
to have extra parameters or commands in the browser command after the URL,
but in this case remember to add the "&" when forking is needed.

*g:slimv_repl_name*
Name of the REPL buffer. Default is 'REPL'. Space and some other special
characters need to be escaped (e.g. 'Slimv\ REPL', '\#REPL\#').
Expand Down Expand Up @@ -1288,11 +1304,12 @@ FAQ *slimv-faq*
- Q: There is no SWANK server opened when I evaluate a form in Vim.
- A: There may be many reasons for that. Try to run the SWANK server manually,
Slimv detects if a SWANK server is running and is able to connect it.
Check if the port number matches in Slimv and the SWANK server.
Verify the SWANK server command autodetected by Slimv:
- Check if the port number matches in Slimv and the SWANK server and
:dont-close is set to 't'.
- Verify the SWANK server command autodetected by Slimv:
:echo SlimvSwankCommand()
Also check the following Slimv variables in Vim, maybe they are not
correctly autodetected and you need to override them in your .vimrc:
- Also check the following Slimv variables in Vim, maybe they are not
correctly autodetected and you need to override them in your .vimrc:
:echo g:slimv_lisp
:echo g:slimv_swank_cmd (or g:slimv_swank_clojure for Clojure)

Expand All @@ -1313,6 +1330,21 @@ FAQ *slimv-faq*
Also make sure that no other ftplugin/lisp.vim is loaded that prevents
loading of the Slimv scripts.

- Q: I experience weird problems when using the plugin, e.g. incorrect key
mappings, strange error messages, indentation missing, etc.
- A: You may have an installation problem, try to completely remove then
reinstall the plugin.
It may also cause problems when you have the Slimv repository checked
out directly into vimfiles. Checkout the project to somewhere else and
copy only the relevant Slimv files to vimfiles.
Most problems may be spot by enabling Vim's verbose mode and examining
the resulting logfile. Either run Vim this way: 'vim -V20test.log' or
enable verbose mode runtime just before the problem happens:
:set verbosefile=test.log
:set verbose=20
It is also possible to save a log of the communication between Slimv and
the swank server by setting g:swank_log=1 in the .vimrc.

- Q: Why is SLIME functionality XYZ missing from Slimv?
- A: Not all SLIME functions are implemented in the SWANK client, however
the list of these functions keep growing. Maybe future releases will
Expand Down Expand Up @@ -1358,6 +1390,26 @@ FAQ *slimv-faq*
===============================================================================
CHANGE LOG *slimv-changelog*

0.9.5 - Use correct SLDB level when invoking restart.
- Autodetect tmux session on Linux (thanks to Brett Kosinski).
- Enable syntax only once to avoid reload of syntax plugins.
- Added option g:slimv_browser_cmd_suffix.
- Skip syntax and indent file for disabled filetypes.
- Check the presence of X on Linux.
- Indentation fixes: keywords, gap after '(', defsystem, defmacro,
symbol-macrolet.
- Use winsaveview()/winrestview() for remembering current view when
moving around (e.g. searching for package).
- Find package for arglist and completion.
- Ignore mapleader when it's <Space>.
- Print SLDB error description also into the REPL buffer.
- Evaluate keyword if using Eval-Defun outside of s-expression.
- Disable unsupported swank features for Scheme.
- Bugfix: Paredit 'cw' at the end of line.
- Bugfix: omit REPL prompt from Eval-Defun and Eval-Expression.
- Bugfix: printing of '\n' and other escaped characters.
- Bugfix: Paredit delete and put corrupted the "0 register.

0.9.4 - Added highlighting of [] and {} for Clojure.
- Added options to disable Slimv for specific filetypes:
g:slimv_disable_clojure, g:slimv_disable_lisp, g:slimv_disable_scheme.
Expand Down Expand Up @@ -1805,7 +1857,8 @@ Also thanks to Vlad Hanciuta, Marcin Fatyga, Dmitry Petukhov,
Daniel Solano Gómez, Brian Kropf, Len Weincier, Andreas Salwasser,
Jon Thacker, Andrew Hills, Jerome Baum, John Obbele, Andreas Fredriksson,
Ömer Sinan Agacan, Tobias Pflug, Chris Cahoon, Mats Rauhala, Oleg Terenchuk,
Andrew Lyon, Andrew Smirnoff for additional notes and contributions.
Andrew Lyon, Andrew Smirnoff, Brett Kosinski for additional notes and
contributions.

I would also like to say a big thank you to everyone donating to support
development. This is a one-element list at the moment: :)
Expand Down
12 changes: 9 additions & 3 deletions ftplugin/scheme/slimv-scheme.vim
@@ -1,7 +1,7 @@
" slimv-scheme.vim:
" Scheme filetype plugin for Slimv
" Version: 0.9.4
" Last Change: 07 Jan 2012
" Version: 0.9.5
" Last Change: 06 Mar 2012
" Maintainer: Tamas Kovacs <kovisoft at gmail dot com>
" License: This file is placed in the public domain.
" No warranty, express or implied.
Expand Down Expand Up @@ -68,11 +68,17 @@ endfunction
" Source Slimv general part
runtime ftplugin/**/slimv.vim

endif "!exists( 'g:slimv_lisp_loaded' )
endif "!exists( 'g:slimv_scheme_loaded' )
" ---------- End of part loaded once ----------

runtime ftplugin/**/lisp.vim

" The balloonexpr of MIT-Scheme is broken. Disable it.
let g:slimv_balloon = 0

" The fuzzy completion of MIT-Scheme is broken. Disable it.
let g:slimv_simple_compl = 1

" Must be called for each lisp buffer
call SlimvInitBuffer()

Expand Down

0 comments on commit 252cca6

Please sign in to comment.