aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/parse_execution.cpp
Commit message (Collapse)AuthorAge
* lint cleanup: eliminate "redundant" errorsGravatar Kurtis Rader2016-05-04
| | | | | This removes some pointless parentheses but the primary focus is removing redundancies like unnecessary "else" clauses.
* restyle parse_execution module to match project styleGravatar Kurtis Rader2016-05-02
| | | | | | Reduces lint errors from 184 to 84 (-54%). Line count from 2139 to 1943 (-9%). Another step in resolving issue #2902.
* add better support for IWYU and fix thingsGravatar Kurtis Rader2016-04-26
| | | | | | | | | Remove the "make iwyu" build target. Move the functionality into the recently introduced lint.fish script. Fix a lot, but not all, of the include-what-you-use errors. Specifically, it fixes all of the IWYU errors on my OS X server but only removes some of them on my Ubuntu 14.04 server. Fixes #2957
* parse_execution.cpp: Remove line continuationsGravatar Andreas Nordal2016-03-17
| | | | My IDE (Kdevelop 4.7.3) didn't tackle them.
* Allow parse_execution_context to take ownership of a parse treeGravatar ridiculousfish2016-02-28
| | | | | | Introduces a new template moved_ref which is like an rvalue reference. This allows passing around objects while being explicit that the receiver may acquire ownership. This will help reduce some allocations.
* Eliminate parser_t::show_errorsGravatar ridiculousfish2016-02-27
| | | | Errors are now unconditionally shown
* Save a few allocations in src/parse_execution.cppGravatar ridiculousfish2016-02-27
|
* Miscellaneous cleanup and dead code removalGravatar ridiculousfish2016-02-19
| | | | Noticed by cppcheck
* Use contains instead of string ==Gravatar ridiculousfish2016-02-15
| | | | Fix a few typos too
* Reinstate failglob behaviour for most commandsGravatar Andreas Nordal2016-02-15
| | | | | | | | | | | | | | | | | Expand globs to zero arguments (nullglob) only for set, for and count. The warning about failing globs, and setting the accompanying $status, now happens regardless of mode, interactive or not. It is assumed that the above commands are the common cases where nullglob behaviour is desirable. More importantly, doing this with `set` is a real feature enabler, since the resulting empty array can be passed on to any command. The previous behaviour was actually all nullglob (since commit cab115c8b9933ae7db9412c66d452c0ccb2d7152), but this was undocumented; the failglob warning was still printed in interactive mode, and the documentation was bragging about failglob behaviour.
* Allow and/or statements to attach to the if/while headerGravatar ridiculousfish2015-12-19
| | | | | | | | | | For example: if false; or true; echo hello; end will output 'hello' now. Fixes #1428
* Simplify parser implementationGravatar ridiculousfish2015-12-19
| | | | | | | | Rather than returning a list of productions and an index, return the relevant production directly from the rule function. Also introduce a tag value (replacing production_idx) which tracks information like command decorations, etc. with more clarity.
* Eliminate global variables associated with builtin IOGravatar ridiculousfish2015-09-22
| | | | | | | This change eliminates global variables like stdout_buffer. Instead we wrap up the IO information into a new struct io_streams_t, and thread that through every builtin. This makes the intent clearer, gives us a place to hang new IO data, and eliminates the ugly global state management like builtin_push_io.
* Fix error message for variable used as commandGravatar Corey Ford2015-09-03
|
* Rewrite parse_util_unescape_wildcardsGravatar ridiculousfish2015-08-19
| | | | Make it simpler, and use wcstring instead of wcsdup
* Merge branch 'iwyu'Gravatar David Adam2015-07-29
|\ | | | | | | http://include-what-you-use.org/
* | Stop passing mutable references to completions aroundGravatar ridiculousfish2015-07-27
| | | | | | | | | | Replace uses of vector<completion_t>& with vector<completion_t>* This makes it clear at the call site that the object may be mutated.
| * Merge branch 'master' into iwyuGravatar David Adam2015-07-26
|/
* Migrate source files into src/ directoryGravatar ridiculousfish2015-07-24
This change moves source files into a src/ directory, and puts object files into an obj/ directory. The Makefile and xcode project are updated accordingly. Fixes #1866