Commit graph

20 commits

Author SHA1 Message Date
jazzpi
3c952ccbfe Fix mark addresses and add specs for addresses
Enables properly parsing marks as addresses. Also adds some specs for
addresses by checking how ex-mode behaves when used as a motion.

Fixes #70.
2016-08-16 00:36:05 +02:00
jazzpi
c6efc0d46c Add 'smartcase' option 2016-08-16 00:26:37 +02:00
jazzpi
5f56b62b7b Fix specs
Apparently `keydown(':')` was never actually opening the Ex line (and
`keydown('escape')` wasn't closing it so it wasn't noticeable), so now
we open it directly with `ex-mode:open`.
2016-08-15 21:21:52 +02:00
jazzpi
1b8f6238c2 Add basic support for visual marks < and >
Only works with range '<,'>. If there are multiple selections, run the
command for each one.

Closes #31.
2016-08-15 21:13:32 +02:00
Jasper v. B
aca7d3b990 Merge pull request #159 from jazzpi/split-options-set
Add splitbelow and splitright options to `:set`
2016-08-14 21:52:32 +02:00
jazzpi
7bec719a6f Add splitbelow and splitright options to :set 2016-08-10 02:01:01 +02:00
jazzpi
2b9b2f26e5 Update editor when saving a new file with :w or :saveas
Fixes #156
2016-08-10 01:29:21 +02:00
Brendon Roberto
cd4fb6f359 Add tests for tabnew command with arguments 2016-06-16 15:21:11 -04:00
Xiaolong Wang
286db320a8 add test 2016-04-24 15:39:57 -05:00
Ryan Mitchell
2a5fe2c382 Feature/yanking (#138)
* Support yanking

* Remove unneeded code from yank spec
2016-04-24 13:56:22 -05:00
Ryan Mitchell
f8396fb4e4 Copy to text to clipboard on delete 2016-04-23 21:33:04 -04:00
jazzpi
e17a6e5533 Add specs for :wall, :quitall and :wqall 2016-01-03 13:15:14 +01:00
jazzpi
31875cff79 Add specs for aliases 2015-12-28 13:01:56 +01:00
jazzpi
19f1a74812 Merge pull request #118 from jazzpi/rework-commands
Rework command calling, improve :substitute
2015-12-08 13:13:11 +01:00
Thomas David Baker
3c78f9c985 :saveas command and spec test. 2015-12-07 11:20:57 -08:00
jazzpi
ddbdb861fb Improve :substitute
Rework the parsing algorithm so that it works (mostly)
without using RegEx's. This allows for replacing with an
empty string and escape sequences (\t, \n, \r).

Fixes #71, #93, #117
2015-11-21 15:51:42 +01:00
jazzpi
af0ba7c01c Improve format for calling commands
Commands (from the Ex class) are now called with an object
containing the range, arguments, vim state, ex state and
editor instead of a long list of arguments.
2015-11-21 14:48:13 +01:00
Jacob Wahlgren
77d3fa46d5 Refactor illegal delimiters specs 2015-09-22 00:50:21 +02:00
Jacob Wahlgren
e2841dc26c Don't allow :s delimiters not allowed by vim
"Instead of the '/' which surrounds the pattern and replacement string,
you can use any other single-byte character, but not an alphanumeric
character, '\', '"'' or '|'."
- http://vimdoc.sourceforge.net/htmldoc/change.html#:substitute
2015-09-22 00:35:36 +02:00
jazzpi
42a44ee9e1 Add specs; minor changes to some commands
`:tabedit` now works as an alias to `:edit` with a path and
  as an alias to `:tabnew` without.
`:tabnew` is a new command that opens a new tab with a new file if used
 without a path and works as an alias to `:tabedit` with one.
`:tabclose` now works as a proper alias to `:quit` (i.e. passes the arguments)
`:edit` now works more like before - it opens a given path in a new tab.
 It also doesn't do anything if the file was modified since the last commit,
 unless forced by using `:edit!`
`:write` works properly again and doesn't overwrite files, unless forced by
 using `:write!`
`:xit` is now called `:xit` and not just `:x`
`:substitute` now properly replaces multiple groups (`:s/(a)b(c)/X\1\2X\0`)
2015-07-29 19:13:13 +02:00