Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Disable aliases inside aliases for the moment. | nicm | 2021-09-10 |
| | |||
* | Fix parsing of aliases again (GitHub issue 2842), also make argument | nicm | 2021-09-09 |
| | | | | parsing a bit simpler and fix the names of some client flags. | ||
* | Replace %% in command lists (by copying them) for template arguments , | nicm | 2021-08-27 |
| | | | | | this means they can be used with {} as well. Also make argument processing from an existing vector preserve commands. GitHub issue 2858. | ||
* | Key bindings steal a reference to the command instead of adding their | nicm | 2021-08-23 |
| | | | | | own, it was correct not to add a reference when parsing, but the bind-key then needs to add one. | ||
* | Revert one of previous, for some reason it is being freed. | nicm | 2021-08-23 |
| | |||
* | Fix a few memory leaks. | nicm | 2021-08-23 |
| | |||
* | Insert alias in the right place, GitHub issue 2842. | nicm | 2021-08-22 |
| | |||
* | Preserve argument type in command and convert to string on demand. | nicm | 2021-08-21 |
| | |||
* | Pass typed arguments out of the parser into the arguments list and let | nicm | 2021-08-21 |
| | | | | it convert them into strings. | ||
* | Stop caring about empty commands, just treat as a null command. | nicm | 2021-08-21 |
| | |||
* | Preserve command group when moving temporary list to current list being | nicm | 2021-08-21 |
| | | | | buit. | ||
* | A couple more spacing fixes. | nicm | 2021-08-20 |
| | |||
* | Actually parse contents of {} as a command and then convert to a string | nicm | 2021-08-20 |
| | | | | instead of just copying arguments around as strings. | ||
* | Add a helper function for actually parsing the command. | nicm | 2021-08-20 |
| | |||
* | Need to flatten arguments for aliases. | nicm | 2021-08-18 |
| | |||
* | Push the conversion of {} to string up out of the parser and into the | nicm | 2021-08-18 |
| | | | | command builder. | ||
* | Leave newlines inside multiline quotes. | nicm | 2020-12-01 |
| | |||
* | Do not dereference NULL environment variable value, GitHub issue 2304. | nicm | 2020-07-13 |
| | |||
* | A } can go on the same line as a command. | nicm | 2020-06-04 |
| | |||
* | Allow strings to span multiple lines - newlines and any leading | nicm | 2020-06-04 |
| | | | | | | whitespace are removed, as well as any following comments that couldn't be part of a format. This allows long formats or other strings to be annotated and indented. | ||
* | Instead of using a custom parse function to process {}, treat it as a | nicm | 2020-06-04 |
| | | | | | | | set of statements and parse with yacc, then convert back to a string as the last step. This means the rules are consistent inside and outside {}, %if and friends work at the right time, and the final result isn't littered with unnecessary newlines. | ||
* | Use the internal representation for UTF-8 keys instead of wchar_t and | nicm | 2020-05-25 |
| | | | | drop some code only needed for that. | ||
* | Add helpers for the simple case of parse string and add to command queue. | nicm | 2020-04-13 |
| | |||
* | When parsing strings, put all commands in one group even if there are | nicm | 2020-04-13 |
| | | | | | | newlines. This means that for example bind q { a \n b } and bind q "a ; b" are the same. Also log commands in different groups separated by ;; rather than ; (a command list like this should never be user visible). | ||
* | Add a way to mark environment variables as "hidden" so they can be used | nicm | 2020-03-31 |
| | | | | by tmux but are not passed into the environment of new panes. | ||
* | Ignore empty commands rather than adding them to the command list rather | nicm | 2020-01-28 |
| | | | | than trying to skip them later, fixes problem reported by M Kelly. | ||
* | Change so that assignments may be specified alone - a command isn't | nicm | 2020-01-27 |
| | | | | required. GitHub issue 2062. | ||
* | Add function to the right file. | nicm | 2019-12-12 |
| | |||
* | Memory leaks, from Igor Wong in GitHub issue 1934. | nicm | 2019-10-14 |
| | |||
* | Do not lazily use BUFSIZ for "I don't care what size" when building | nicm | 2019-10-03 |
| | | | | | strings because it is only guaranteed to be 256 bytes and even the default 1024 is not always enough. Reported by Gregory Pakosz. | ||
* | Set up format tree for %if, GitHub issue 1896. | nicm | 2019-09-10 |
| | |||
* | Handle comments more correctly inside {}, from Avi Halachmi. | nicm | 2019-06-18 |
| | |||
* | Show filename with -v for source-file. | nicm | 2019-06-14 |
| | |||
* | A couple of minor parser changes around conditions: 1) only treat #{ | nicm | 2019-06-14 |
| | | | | | specially after a condition, otherwise as a comment (which is more as most people expect) 2) allow formats to be quoted after a condition. | ||
* | Add a -v flag to source-file to show the commands and line numbers. | nicm | 2019-06-05 |
| | |||
* | yacc(1) copies its union so it is not a good place to store | nicm | 2019-06-02 |
| | | | | | TAILQ_HEADs. Allocate them instead. Found from a problem reported by sthen@. | ||
* | Need stdlib.h, from Ben Boeckel. | nicm | 2019-06-01 |
| | |||
* | Allow % strings that are all numbers or %s, and fix a double free. Both | nicm | 2019-05-31 |
| | | | | reported by George Nachman, GitHub issues 1765 and 1766. | ||
* | No longer need to reduce line number by one. | nicm | 2019-05-30 |
| | |||
* | Use VIS_CSTYLE for the arguments and add the missing escapes it can | nicm | 2019-05-29 |
| | | | | generate to the parser. | ||
* | The line number needs to be updated only after the \n is processed by | nicm | 2019-05-29 |
| | | | | | the parser, so store a flag and update it next time around. Also each new line needs its own shared data. | ||
* | Support \ooo escapes, from Avi Halachmi. | nicm | 2019-05-29 |
| | |||
* | Add an additional {} syntax for defining strings in the configuration | nicm | 2019-05-27 |
| | | | | | | | file, making it much tidier to define commands that contain other tmux or shell commands (like if-shell). Also tweak bind-key to expect a string if it is only given one argument, so {} can be used with it as well. From Avi Halachmi. | ||
* | Some other platforms doesn't support fmemopen(3) (not unexpectedly), so | nicm | 2019-05-26 |
| | | | | | don't use it - since we only use getc/ungetc on the file anyway it is easy not to. | ||
* | Merge cmd_list_parse into cmd-parse.y so it can use the new alias | nicm | 2019-05-25 |
| | | | | processing code. | ||
* | Fix line numbers - commands are added after the line ends so they need to | nicm | 2019-05-23 |
| | | | | get line - 1. | ||
* | Break the argument escaping code into a separate function and use it to | nicm | 2019-05-23 |
| | | | | escape key bindings in list-keys. Also escape ~ and ; and $ properly. | ||
* | Replace the split parser code (cfg.c and cmd-string.c) with a single | nicm | 2019-05-23 |
parser using yacc(1). This is a major change but is clearer and simpler and allows some edge cases to be made more consistent, as well as tidying up how aliases are handled. It will also allow some further improvements later. Entirely the same parser is now used for parsing the configuration file and for string commands. This means that constructs previously only available in .tmux.conf, such as %if, can now be used in string commands (for example, those given to if-shell - not commands invoked from the shell, they are still parsed by the shell itself). The only syntax change I am aware of is that #{} outside quotes or a comment is now considered a format and not a comment, so #{ is now a syntax error (notably, if it is at the start of a line). This also adds two new sections to the man page documenting the syntax and outlining how parsing and command execution works. Thanks to everyone who sent me test configs (they still all parse without errors - but this doesn't mean they still work as intended!). Thanks to Avi Halachmi for testing and man page improvements, also to jmc@ for reviewing the man page changes. |