Commit graph

3665 commits

Author SHA1 Message Date
Julian Aron Prenner
44c6fa68cf Make Ctrl-x autocomplete suggestions; cosmetics 2014-01-20 13:07:32 +01:00
furunkel
7df4a966ea Merge pull request #6 from maxfl/bind_mode
Add cursor shape handler
2014-01-20 01:07:56 -08:00
Maxim Gonchar
1279888567 Add cursor shape handler 2014-01-20 10:19:41 +04:00
Julian Aron Prenner
f2f6055109 Merge branch 'bind_mode' of github.com:furunkel/fish-shell into bind_mode 2014-01-19 17:56:43 +01:00
furunkel
db0506c1df Merge pull request #5 from Gonzih/bind_mode
Add x and X bindings in visual mode, fix e and E in visual mode.
2014-01-19 06:36:34 -08:00
Max Gonzih
114f803a88 Fix e and E in visual vi mode 2014-01-19 17:07:23 +03:00
Max Gonzih
69778efb6b Add x binding to delete whole line in visual mode 2014-01-19 17:04:02 +03:00
Max Gonzih
e7df20f69b Add x binding to delete selection in visual vi mode 2014-01-19 16:50:56 +03:00
Julian Aron Prenner
1157d330a6 Merge remote-tracking branch 'upstream/master' into bind_mode 2014-01-19 11:01:24 +01:00
Julian Aron Prenner
cd64a777c3 Set $fish_bind_mode to default on fish startup; set $fish_key_bindings
when sourcing fish_vi_mode.fish
2014-01-19 10:27:39 +01:00
Julian Aron Prenner
3728fc7dba Add kill-selection function and visual binds for 'y' and 'd' 2014-01-18 10:18:29 +01:00
ridiculousfish
b758c0c335 Relax the requirement that we find a working 'doc' directory in order
for fish to be relocatable. Instead we only look for data and
configuration path
2014-01-17 14:19:00 -08:00
Julian Aron Prenner
88eae68987 Fix a bug, commandline -s works now as expected. Add "*y binding in
visual mode
2014-01-17 20:32:24 +01:00
furunkel
8b89bd7a1f Merge pull request #4 from maxfl/bind_mode
Minor bind fixes
2014-01-17 08:06:49 -08:00
Maxim Gonchar
fc68b9d7cd Minor bind fixes
Comment out 'o' binding
Add '['/']' bindings to navigate current token history
Fix 'P' to paste indeed
Add "*P/"*p to insert current selection clipboard using xsel
2014-01-17 10:40:32 +04:00
ridiculousfish
8e77aca854 Fix for recent issue where random text might appear underlined. 2014-01-15 23:33:34 -08:00
Julian Aron Prenner
0cd125b55c Merge branch 'bind_mode' of github.com:furunkel/fish-shell into bind_mode 2014-01-15 22:41:50 +01:00
Julian Aron Prenner
444cb894be Set selection color to purple 2014-01-15 22:41:10 +01:00
Maxim Gonchar
8138b2080b Even dirtier *aw/*iw 2014-01-16 01:25:44 +08:00
furunkel
d0c3cc6016 Merge pull request #3 from maxfl/bind_mode
Add dirty bindings for *iw, *aw
2014-01-15 09:01:46 -08:00
Maxim Gonchar
737b204b2c Add dirty bindings for *iw, *aw
Put E, W bindings in agreement with vim
2014-01-16 00:55:51 +08:00
David Adam
bd313b0b3d configure/Makefile: remove unused variables and unneeded declarations 2014-01-15 23:50:42 +08:00
David Adam
568de7e818 fish_tests.cpp: set return value if tests fail 2014-01-15 23:50:42 +08:00
David Adam
3106cffb65 Makefile/tests: use return values to communicate errors 2014-01-15 23:50:42 +08:00
Julian Aron Prenner
21e9615243 Remove unused #defines 2014-01-15 15:59:13 +01:00
Julian Aron Prenner
9e27ba5109 Pull from upstream 2014-01-15 15:44:27 +01:00
Konrad Borowski
7874cdf52a Replace size_t with unsigned long.
size_t is not compatible type for `%lu`.
2014-01-15 15:36:50 +01:00
Julian Aron Prenner
213e907044 Merge remote-tracking branch 'upstream/master' into bind_mode
Conflicts:
	builtin.cpp
	reader.cpp
	share/functions/fish_default_key_bindings.fish
2014-01-15 15:27:06 +01:00
Julian Aron Prenner
c8d5131a42 Add experimental support for selection and visual mode 2014-01-15 15:07:22 +01:00
Julian Aron Prenner
fc21bb6eda Replace builtin 'bind_mode' with variable $fish_bind_mode 2014-01-15 12:04:52 +01:00
Julian Aron Prenner
3a9173858b Merge branch 'bind_mode' of github.com:furunkel/fish-shell into bind_mode 2014-01-15 11:40:00 +01:00
Julian Aron Prenner
dede320630 Rename 'new-mode' to 'sets-mode', prepare for selection support. 2014-01-15 11:39:19 +01:00
furunkel
c25e2e611d Merge pull request #2 from maxfl/bind_mode
Add optional arguments to fish_default_key_bindings
2014-01-15 02:29:37 -08:00
ridiculousfish
370b47d23f Make RESOLVE(statement) correctly handle any keyword. Fixes #1242. 2014-01-15 01:53:40 -08:00
ridiculousfish
53814983ff Update style and formatting to conform to fish style guide. 2014-01-15 01:40:40 -08:00
ridiculousfish
e2fe873049 Change highlight colors from a bitmask into a combination enum / bitmask
so that we can support more than 16 color specifications.
2014-01-15 01:01:25 -08:00
ridiculousfish
9da3d890e4 Fix for indentation test failures 2014-01-15 00:07:25 -08:00
Maxim Gonchar
9684cbf850 Add optional options to fish_default_key_bindings
These options will be passed to the bind command.
Now it's possible to call
  fish_default_key_bindings -M insert
to set all original bindings to the insert mode
2014-01-15 15:26:38 +08:00
furunkel
7be8147b80 Merge pull request #1 from maxfl/bind_mode
Update vi bindings
2014-01-14 15:38:19 -08:00
ridiculousfish
c22d94bba6 Fix for extra space when tab completing directories. Fixes #1241 2014-01-14 14:28:06 -08:00
Maxim Gonchar
b0e94c15e6 Update vi bindings:
The following normal mode bindings are added:
    o, I, A, gg, G, g^, g$, x, X, backspace, d*, D, s, S, c*, C, ~, gu,
    gU, J, K, y*, Y, p, P

I was not able to add binding for 'O'

dd now deletes the whole line as vim, while D deletes the line to the
end. c, s, y act the same way
2014-01-15 00:21:13 +08:00
Julian Aron Prenner
874d3aca45 Make Ctrl+C exit insert mode, add some more backspace binds. 2014-01-14 15:24:26 +01:00
ridiculousfish
28c7094f5b Fix for issue where 'function' would not define a function if the
arguments came before its name. Fixes #1240
2014-01-14 02:29:53 -08:00
ridiculousfish
ff5e2746da Fix for issue in new parser where no error would be reported if the very
first token is an error. Fixes #1239.
2014-01-14 00:38:55 -08:00
ridiculousfish
dc8014562b Fix for issue where unterminated quotes would attempt to be executed,
instead of continuing edit onto the next line.
2014-01-14 00:02:18 -08:00
Konrad Borowski
b9394b9599 Rename __fish_complete_usb function. 2014-01-14 08:28:15 +01:00
ridiculousfish
290aae80e1 Merge of "ast" branch, providing fish with a unified parser, used for execution, syntax coloring, completions, abbreviations, etc. This also bestows fish with a formalized grammar, which is 'documented' in a comment in parse_tree.h.
The parser here is a LL(2) parser, which is handwritten (to avoid complicating the build process and to maintain good control over error reporting, thread safety, etc). Later it's worth exploring using parser generators (lemon, etc) or other tools to simplify things.

This commit enables the new parser for syntax highlighting, completions, and abbreviations. Syntax highlighting retains the old implementation (disabled), which will be removed shortly. There is also support for a new execution model, based on the new parser, but it is disabled by default (can be enabled by setting the fish_new_parser variable to 1).

There's also lots of new tests, and some machinery for selecting which tests to run.

After living on this commit for a while, we'll enable the new execution model by default, and then begin to tear down the machinery of the old one (the block types, builtin_end, the parser_t junk, etc.). After that we can pursue even more exotic execution models, like multithreaded ones.

(The branch name is really a misnomer - the tree here is a parse tree, or concrete syntax tree, not an abstract one.)

Fixes #557
2014-01-13 13:57:35 -08:00
ridiculousfish
212eeaa77c Correctly report errors for 'and' and 'or' in pipelines with new parser 2014-01-13 13:19:58 -08:00
ridiculousfish
eb28c710ba Improve the 'This command can not be used in a pipeline' message to
actually name the command
2014-01-13 12:51:09 -08:00
leafonsword
129d2f803a 新文件: share/completions/lsusb.fish
新文件:    share/functions/__fish_complete_usb.fish
2014-01-13 20:24:20 +01:00