Commit Graph

63 Commits

Author SHA1 Message Date
ridiculousfish
79d14521db Support for error detection in arguments in new parser. Restores error
reporting for bad arguments (e.g. with bad variable names)
2014-03-04 02:54:08 -08:00
ridiculousfish
be33d3f2a4 Revert "Merge pull request #1317 from pullreq/cpp"
This reverts commit 74135c0600, reversing
changes made to 6d749789ce.

See discussion in #1317
2014-02-28 02:16:48 -08:00
Geoff Nixon
18dd6f58e3 Fixes .c -> .cpp in comments. For doxygen. 2014-02-27 06:23:40 -08:00
ridiculousfish
1fbf633817 Reimplement exec parsing. Instead of special-casing exec as a command,
promote it to a decoration (like 'command' or 'builtin'). This makes tab
completion and syntax highlighting treat exec's first argument as a
command and is otherwise a nice simplification. Fixes #1300
2014-02-13 10:10:49 -08:00
ridiculousfish
bac3b39227 Highlight the entire variable name, not just the dollar sign. Fixes #1201 2014-02-03 14:16:00 -08:00
ridiculousfish
53814983ff Update style and formatting to conform to fish style guide. 2014-01-15 01:40:40 -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
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
ridiculousfish
096f850433 Eliminate class parse_t 2014-01-12 22:39:12 -08:00
ridiculousfish
6ce4b344e4 Hook up for statements, if statements, and function definition in new
parser
2013-12-27 01:38:43 -08:00
ridiculousfish
3e9153d955 Clean up some error messages. Don't show the line in the error message
if it's the first line and we're interactive, since then it's obvious
2013-12-16 16:52:23 -08:00
ridiculousfish
5b24aac266 Initial work on backtrace support with new parser 2013-12-15 16:05:37 -08:00
ridiculousfish
67b1f14a6f Better support for parse errors in indenting 2013-12-08 14:13:23 -08:00
ridiculousfish
dd0cc5ed9f Rewriting indenting functionality to use new parser 2013-12-08 13:41:12 -08:00
ridiculousfish
964c7e6f3b Merge branch 'master' into ast
Conflicts:
	complete.cpp
2013-10-27 13:37:14 -07:00
ridiculousfish
cf766b55cc Fix formatting 2013-10-26 15:27:39 -07:00
ridiculousfish
630b0515ad Merge branch 'master' into ast
Conflicts:
	parse_util.cpp
2013-10-16 01:48:21 -07:00
ridiculousfish
3c5d5b344e Fix for buffer overflows identified by libgmalloc 2013-10-16 01:02:15 -07:00
ridiculousfish
54d7c29221 Syntax highlighting for command substitutions 2013-10-08 18:41:35 -07:00
ridiculousfish
dd91779442 Merge branch 'master' into ast_no_templates
Conflicts:
	configure.ac
	exec.cpp
2013-10-06 13:08:57 -07:00
ridiculousfish
cbe615224d Make tok_last_type return an enum token_type instead of int 2013-09-30 13:57:36 -07:00
ridiculousfish
97ea61a407 Fix for parse_util_token_extent doing the wrong thing inside a command
substitution. Fixes https://github.com/fish-shell/fish-shell/issues/833
2013-09-21 16:38:57 -07:00
ridiculousfish
3e3eefc2dc Improvements to new parser. All functions and completions now parse. 2013-07-22 18:26:15 -07:00
ridiculousfish
f9c2a77c67 Next stab at abbreviations. Highlighting should work. 2013-07-19 12:41:35 -07:00
ridiculousfish
1511de68ed Make parse_util_locate_cmdsubst return the innermost command substitution instead of the outermost.
Fixes https://github.com/fish-shell/fish-shell/issues/913
2013-07-17 01:35:30 -07:00
ridiculousfish
4416753df0 More cleanup based on static analysis
https://github.com/fish-shell/fish-shell/issues/575
2013-02-16 02:38:13 -08:00
ridiculousfish
7117c4a5ee Remove tok_destroy 2012-11-21 22:14:28 -08:00
ridiculousfish
f545fb2491 Work towards refactoring tokenizer to be a real object 2012-11-21 17:48:35 -08:00
ridiculousfish
26678682ca Fix indentation of switch statements 2012-11-19 00:31:03 -08:00
ridiculousfish
9992b8eb0e Apply new indentation, brace, and whitespace style 2012-11-18 16:30:30 -08:00
Łukasz Niemier
47df1ae40a Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
ridiculousfish
84729c4dfa Additional warnings cleanup, effective C++ violations, dead code removal 2012-08-05 13:24:33 -07:00
ridiculousfish
25c6671a87 Fix for inability to go backwards through history 2012-08-04 16:06:40 -07:00
ridiculousfish
c67702a498 Cleaned up lots of typecasts, simplified some string handling 2012-08-04 15:11:43 -07:00
ridiculousfish
54ceb4211e Additional warning fixes and migration from int to size_t or long where appropriate 2012-08-04 13:47:56 -07:00
ridiculousfish
8185bee4b8 Lots of work towards making fish build without warnings on Mountain Lion, mostly in terms of using size_t instead of int 2012-08-04 11:34:45 -07:00
ridiculousfish
2e1b3325c6 Warning cleanup 2012-08-04 11:34:45 -07:00
ridiculousfish
345a528625 Untangle unescaping responsibilities in highlight.cpp. Fix cd autosuggestions to properly handle quotes. Factor out some of the quote unescaping behavior from reader.cpp to parse_util.cpp.
Add some autosuggestion tests
2012-07-06 14:34:53 -07:00
maxfl
01d8490255 Return the previous logic for '\\'.
The following expression now works:
```sh
switch '\\'
  case '\\'
  echo 1
end
```

Due to ambiguity, the following expression also works:
```sh
switch '\a'
  case '\\a'
  echo 1
end
```

By the way, the following expression now doesn't work, which was not the
case before, because of wrong escaping:
```sh
switch 'nn'
  case '\n'
  echo 1
end
```
2012-07-05 14:17:25 -07:00
maxfl
ea4b37d5c5 Fixed case behaviour
* case no properly handles -h and --help flags, i.e. treats it as
  pattern
* fixed case escaping:
The following expressions now work correctly:
switch '*'
  echo '*'
  echo Match any string
end
switch '*'
  echo '\*'
  echo Match asterix
end
switch '\\'
  echo '\\\\'
  echo Match slash
end

The same for '?' sign
2012-07-05 14:17:25 -07:00
Siteshwar Vashisht
57f3df3cab Fix for crash while editing multiple lines requested in issue #143 2012-06-21 21:05:14 +05:30
ridiculousfish
0bc644abf0 Fix lots of bugs related to the static analyzer
Improved how screen.cpp interacts with output_set_writer()
2012-03-26 01:21:10 -07:00
ridiculousfish
376e199ebb Removed a lot of string_buffer_t 2012-02-22 12:00:02 -08:00
ridiculousfish
8f1423946f Fix a crash when using quotes due to wgettext thread safety issues. 2012-02-17 15:55:54 -08:00
ridiculousfish
910863e9ea Final removal of halloc. It's like Christmas Morning. 2012-02-09 19:26:44 -08:00
ridiculousfish
a534c397f5 Const correctness changes 2012-02-06 00:57:43 -08:00
ridiculousfish
3b8a4e56b0 A bunch of work to move towards a sane memory model in job_t 2012-01-29 22:06:58 -08:00
ridiculousfish
843ba4ac2c Move autoload class into autoload.h and cpp 2012-01-25 18:59:35 -08:00
ridiculousfish
2f1cac604d Implemented LRU cache for autoloading. 2012-01-25 18:40:08 -08:00