Commit Graph

3662 Commits

Author SHA1 Message Date
ridiculousfish
4c5c1fc9ef Suppress the pager progress message if the listing fits onscreen 2014-01-24 18:10:42 -08:00
ridiculousfish
4ffd2380c3 Remove yet more unnecessary fish_pager.cpp specific code from the new pager 2014-01-24 18:10:42 -08:00
ridiculousfish
5849cd3a2e Remove some unnecessary fish_pager.cpp specific code from the new pager 2014-01-24 18:10:41 -08:00
ridiculousfish
0a1960865e Support for "merged completions" (multiple completions on the same line)
in new pager. Support for using up-arrow to end pager navigation.
2014-01-24 18:10:41 -08:00
ridiculousfish
830ab99e6e Merge branch 'master' into pager 2014-01-24 18:10:41 -08:00
ridiculousfish
2e4b7b3d19 Fix pager to correctly join completions with the same description.
Closes #1263
2014-01-24 10:47:49 -08:00
David Adam
8cb051d44d use annotated tags only for version checking
Note: if you have previously cloned the repository, the tags for
previous versions have been edited. Use `git fetch --tags` to
synchronise your local copy.
2014-01-24 20:51:06 +08:00
ridiculousfish
535445a555 Replace assertions with new do_test macro in fish_tests.cpp 2014-01-23 18:19:52 -08:00
ridiculousfish
f6afddd94b Fix for tab-completing arguments. Closes #1261 2014-01-23 18:07:21 -08:00
ridiculousfish
0f2ee308de Use ellipsis in pager progress message 2014-01-22 17:50:03 -08:00
ridiculousfish
7d3f808e4c Various tweaks and improvements to new pager, including disclosure
feature
2014-01-22 17:45:27 -08:00
ridiculousfish
ee9a4082b6 Allow down arrow to enter pager. Clean up repainting within
reader_readline
2014-01-21 16:25:55 -08:00
ridiculousfish
e6c70bf392 Merge branch 'master' into pager 2014-01-21 16:09:03 -08:00
ridiculousfish
9edf9ad2ac Correct the correspondence between name_arr and the input codes. 2014-01-21 16:08:35 -08:00
ridiculousfish
f714d80c93 Support for scrolling through the pager 2014-01-21 14:35:18 -08:00
ridiculousfish
605c306bef Correctly clear pager contents on ctrl-C 2014-01-20 13:05:18 -08:00
ridiculousfish
998ce1fe89 Support for correctly resizing pager contents. 2014-01-19 23:52:35 -08:00
ridiculousfish
d9d65577f4 Improved navigation of pager list. Added tests for it too. 2014-01-19 16:41:40 -08:00
ridiculousfish
808bc42f2a Further work on keyboard navigating the completion list 2014-01-18 12:42:53 -08:00
ridiculousfish
9920047b34 Merge branch 'master' into pager 2014-01-17 14:21:08 -08: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
ridiculousfish
32054b6f32 Implement and document new -P / --paging-mode flags to commandline, to support new
pager
2014-01-17 12:53:01 -08:00
ridiculousfish
c6e5201e15 Initial support for navigating completions that appear under the
commandline using arrow keys
2014-01-17 12:04:03 -08:00
ridiculousfish
64b1b5ca38 Merge branch 'master' into pager 2014-01-15 23:43:00 -08:00
ridiculousfish
8e77aca854 Fix for recent issue where random text might appear underlined. 2014-01-15 23:33:34 -08:00
ridiculousfish
0627ae82fb Clean up pager on exit from interactive read 2014-01-15 18:21:38 -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
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
ridiculousfish
54689f6087 Merge branch 'master' into pager
Conflicts:
	highlight.h
2014-01-15 02:05:46 -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
5953170f14 Update pager colors to use new non-bitmask architecture. 2014-01-15 01:36:09 -08:00
ridiculousfish
40897cd7da Merge branch 'master' into pager
Conflicts:
	screen.h
2014-01-15 01:23:30 -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
9f3a16a4ae Merge branch 'master' into pager 2014-01-15 00:10:19 -08:00
ridiculousfish
9da3d890e4 Fix for indentation test failures 2014-01-15 00:07:25 -08:00
ridiculousfish
295c8f48a6 Teach screen how to render completion page. Correct spacing in
completion page contents.
2014-01-14 15:39:53 -08:00
ridiculousfish
c22d94bba6 Fix for extra space when tab completing directories. Fixes #1241 2014-01-14 14:28:06 -08:00
ridiculousfish
4a20febe96 Merge branch 'master' into pager 2014-01-14 02:39:14 -08: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
899dafb33f Migrating new pager implementation into a class. Further work on
constructing a screen_data_t from it.
2014-01-13 16:41:22 -08:00
ridiculousfish
104cf87b89 Merge branch 'master' into pager 2014-01-13 14:38:13 -08: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