| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-06-26 | indent: implement 'blank line above first statement in function body' | rillig | |
| 2023-06-23 | indent: properly store parser state in debug mode | rillig | |
| The stacks in the parser state are allocated now and need to be copied individually. The test whether two paren stacks are equal was broken since 2023-06-14 14:11:28. | |||
| 2023-06-16 | indent: merge lexer symbols for type in/outside parentheses | rillig | |
| 2023-06-16 | indent: fix indentation and linebreaks in typedef declarations | rillig | |
| 2023-06-16 | indent: don't force a blank line between '}' and preprocessing line | rillig | |
| 2023-06-16 | indent: rename a field of the parser state | rillig | |
| The previous name 'comment_in_first_line' was misleading, as it could mean that there was a comment in the first line of the file. No functional change. | |||
| 2023-06-15 | indent: rename state variable to be more accurate | rillig | |
| No binary change. | |||
| 2023-06-14 | indent: clean up the code, add a few tests | rillig | |
| 2023-06-14 | indent: allow more than 128 brace levels | rillig | |
| 2023-06-14 | indent: clean up array indexing for parser symbols | rillig | |
| With 'top' pointing to the actual top element, the array was indexed in the closed range from 0 to top. All other arrays are indexed by the usual half-open interval from 0 to len. No functional change. | |||
| 2023-06-14 | indent: allow more than 20 nested parentheses or brackets | rillig | |
| 2023-06-14 | indent: clean up debugging code | rillig | |
| 2023-06-14 | indent: clean up handling of comments | rillig | |
| One less moving part in the parser state. No functional change. | |||
| 2023-06-14 | indent: remove another flag from parser state | rillig | |
| When processing a comment, the flag ps.next_col_1 was not used for the next token, but for a line within a comment. As its scope was limited to a single comment, there is no need to store it any longer than that No functional change. | |||
| 2023-06-14 | indent: remove a redundant flag from the parser state | rillig | |
| No functional change. | |||
| 2023-06-14 | indent: merge parser symbols for stmt and stmt_list | rillig | |
| They were handled in exactly the same way. | |||
| 2023-06-10 | indent: rename misleading variable | rillig | |
| The name started with 'line_start', but the value is not always the value from the beginning of the line. No functional change. | |||
| 2023-06-10 | indent: miscellaneous cleanups | rillig | |
| 2023-06-10 | indent: in debug mode, null-terminate buffers | rillig | |
| 2023-06-10 | indent: clean up function and variable names | rillig | |
| 2023-06-10 | indent: rename and sort variables in parser state | rillig | |
| No functional change. | |||
| 2023-06-09 | indent: trim trailing blank lines | rillig | |
| 2023-06-09 | indent: group lexer symbols by topic, sort processing functions | rillig | |
| No functional change. | |||
| 2023-06-09 | indent: don't treat function call expressions as cast expressions | rillig | |
| 2023-06-09 | indent: when an indentation is ambiguous, indent one level further | rillig | |
| The '-eei' mode now applies whenever the indentation from a multi-line expression could be confused with a following statement. | |||
| 2023-06-08 | indent: remove fragile heuristic for detecting cast expressions | rillig | |
| The assumption that in an expression of the form '(a * anything)', the '*' marks a pointer type was too simple-minded. For now, fix the obvious cases and leave the others for later. If needed, they can be worked around using the '-T' option. | |||
| 2023-06-08 | indent: clean up and condense code | rillig | |
| No functional change. | |||
| 2023-06-07 | indent: extract the stack of parser symbols to a separate struct | rillig | |
| No functional change. | |||
| 2023-06-06 | indent: compute indentation of 'case' labels on-demand | rillig | |
| One less moving part to keep track of. No functional change. | |||
| 2023-06-05 | indent: sync debug output with parser state | rillig | |
| 2023-06-05 | indent: format own source code | rillig | |
| 2023-06-05 | indent: do not report broken lines, report configuration on stderr | rillig | |
| 2023-06-05 | indent: rename variables, clean up comments | rillig | |
| No binary change. | |||
| 2023-06-04 | indent: remove read pointer from buffers that don't need it | rillig | |
| The only buffer that needs a read pointer is the current input line in 'inp'. No functional change. | |||
| 2023-06-04 | indent: track the kind of '{' on the parser stack | rillig | |
| 2023-06-04 | indent: fix debug output of the parser symbol stack | rillig | |
| Even though the stack always contains a stmt_list as first element, print it nevertheless to avoid confusion about starting at index 1, and to provide the full picture. | |||
| 2023-06-04 | indent: rename struct field, for better symmetry | rillig | |
| No binary change outside debug mode. | |||
| 2023-06-04 | lint: use separate lexer symbols for 'case' and 'default' | rillig | |
| It's not strictly necessary since these tokens behave in the same way, still, the code is more straight-forward when there are separate tokens. | |||
| 2023-06-04 | indent: classify 'inline' as a modifier rather than a word | rillig | |
| 2023-06-04 | indent: use separate lexer symbols for the different kinds of ':' | rillig | |
| 2023-06-04 | indent: handle the indentation of 'case' in a simpler way | rillig | |
| 2023-06-04 | indent: separate code for handling parentheses and brackets | rillig | |
| Handling parentheses is more complicated than for brackets. | |||
| 2023-06-02 | indent: improve heuristics of classifying '*' as pointer or operator | rillig | |
| 2023-06-02 | indent: clean up | rillig | |
| Only print the 'token' buffer in debug mode if it is interesting, group the blocks in handling of '(' tokens by topic, remove obsolete comment from test. | |||
| 2023-06-02 | indent: fix formatting of declarations with preprocessing lines | rillig | |
| 2023-05-23 | indent: split debug output into paragraphs | rillig | |
| The paragraphs separate the different processing steps: getting a token from the lexer, processing the token, updating the parser state, sending a finished line to the output. | |||
| 2023-05-23 | indent: fix spacing in declarations in for loops | rillig | |
| 2023-05-22 | indent: implement suppressing optional blank lines | rillig | |
| 2023-05-20 | indent: extract the output state from the parser state | rillig | |
| The parser state depends on the preprocessing lines, the output state shouldn't. | |||
| 2023-05-20 | indent: implement blank line above block comment | rillig | |
