aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/parse_tree.cpp
Commit message (Collapse)AuthorAge
* Style fixes.Gravatar Aaron Gyes2016-06-23
|
* Make IWYU output in lint.cpp less messyGravatar Aaron Gyes2016-06-23
| | | | And re-run IWYU, adjust #includes.
* Lint CleanupGravatar Aaron Gyes2016-06-14
| | | | | | | This remove some stores that clang assures me are very dead. And an assert() for an unlikely NULL pointer dereference I can't quite figure out.
* fix random lint issuesGravatar Kurtis Rader2016-05-29
| | | | | | | | This only eliminates errors reported by `make lint`. It shouldn't cause any functional changes. This change does remove several functions that are unused. It also removes the `desc_arr` variable which is both unused and out of date with reality.
* add (or restore) config.h to all filesGravatar David Adam2016-05-18
| | | | | | | | The autoconf-generated config.h contains a number of directives which may alter the behaviour of system headers on certain platforms. Always include it in every C++ file as the first include. Closes #2993.
* rename get_is_interactive and remove stupid testGravatar Kurtis Rader2016-05-14
| | | | | | I'm doing this as part of fixing issue #2980. The code for managing tty modes and job control is a horrible mess. This is a very tiny step towards improving the situation.
* 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_tree module to match project styleGravatar Kurtis Rader2016-05-02
| | | | | | Reduces lint errors from 163 to 52 (-68%). Line count from 2012 to 1904 (-5%). 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
* another wcstring to wchar_t * changeGravatar Kurtis Rader2016-04-10
| | | | | | | | | | | In keeping with the change made by @ridiculousfish earlier today modify the `keyword_description()` function to return a const wchar_t pointer. Also, simplify the `token_type_description()` function to use the recently introduced mapping array. This changes the wording of many of the token type descriptions. However, I can't see this as being a problem since the original descriptions (e.g., "token_redirection") are no clearer to someone not acquainted with the implementation.
* enhance fish_indent to normalize keywordsGravatar Kurtis Rader2016-04-10
| | | | | | | | | | | Fish keywords can be quoted and split across lines. Prior to this change `fish_indent` would retain such odd, obfuscated, formatting. This change results in all keywords being converted to their canonical form. This required fixing a bug: the keyword member of parse_node_t wasn't being populated. This hadn't been noticed prior to now because it wasn't used. Fixes #2921
* Change parser_token_types from wcstring to const wchar_t *Gravatar ridiculousfish2016-04-10
| | | | Reduces allocations and startup time
* fix handling of line continuation in keywordsGravatar Jak Wings2016-04-08
| | | | | | | This behavior is more consistent with line continuation in strings other than keywords. Fixes #2897
* change how redirections are formattedGravatar Kurtis Rader2016-04-05
| | | | | | | | Modify `fish_indent` to emit redirections without a space before the target of the redirection; e.g., "2>&1" rather than "2>& 1" as the former is clearer to humans. Fixes #2899
* fixes for cppcheck lint warningsGravatar Kurtis Rader2016-04-04
| | | | | | Refine the linting behavior. Fix several of the, mostly trivial, lint errors.
* Mark a bunch of constructors as explicitGravatar ridiculousfish2016-02-27
| | | | This prevents undesired implicit conversions
* Shave 4 bytes from parse_node_tGravatar ridiculousfish2015-12-19
| | | | Bitfields ftw
* 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.
* Rewrite parse_util_unescape_wildcardsGravatar ridiculousfish2015-08-19
| | | | Make it simpler, and use wcstring instead of wcsdup
* Correct the caret position for unbalanced square bracketsGravatar ridiculousfish2015-08-10
|
* Correct the positioning of the error caretGravatar ridiculousfish2015-08-10
| | | | | | When an error occurs midway through a token, like abc(def, make the caret point at the location of the error (i.e. the paren) instead of at the beginning of the token.
* Merge branch 'iwyu'Gravatar David Adam2015-07-29
|\ | | | | | | http://include-what-you-use.org/
* | Continue to refine tokenizer interfaceGravatar ridiculousfish2015-07-26
| | | | | | | | Migrate some functions into tokenizer instance methods
* | Continue migration to the new tokenizer interfaceGravatar ridiculousfish2015-07-26
| |
* | Remove some dead codeGravatar ridiculousfish2015-07-25
| |
| * 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