Commit Graph

70 Commits

Author SHA1 Message Date
Thomas Adam 19a3a9ee20 Merge branch 'obsd-master' 2019-05-23 21:02:30 +01:00
nicm 6c260af56d Use the same argument escaping code for options as well. 2019-05-23 18:33:53 +00:00
Thomas Adam 9d450cc6d0 Merge branch 'obsd-master' 2019-05-22 21:02:28 +01:00
nicm 5571d7a21c Fix crash if window doesn't exist, GitHub issue 1751. 2019-05-22 18:58:31 +00:00
Thomas Adam 699d9d2fac Merge branch 'obsd-master' 2019-05-12 21:02:27 +01:00
nicm c3c3927c2b Oops, removed too much in last change. 2019-05-12 18:18:30 +00:00
nicm 00f19b7f91 Fix some indentation and dead assignments. 2019-05-12 18:16:33 +00:00
Thomas Adam dc7e53897a Merge branch 'obsd-master' 2019-04-30 21:02:26 +01:00
nicm 429c4bc51b Fix user options after show-hooks merge, GitHub issue 1704. 2019-04-30 18:02:03 +00:00
Thomas Adam 5489796737 Merge branch 'obsd-master' 2019-04-27 20:09:07 +01:00
nicm dfb7bb6830 Merge hooks into options and make each one an array option. This allows
multiple commands to be easily bound to one hook. set-hook and
show-hooks remain but they are now variants of set-option and
show-options. show-options now has a -H flag to show hooks (by default
they are not shown).
2019-04-26 11:38:51 +00:00
Thomas Adam 7c4a2253e8 Merge branch 'obsd-master' 2019-04-25 21:02:43 +01:00
nicm 32a81e197b Make options_tostring allocate its result instead of using a stack
buffer (needed for something in the future).
2019-04-25 18:18:55 +00:00
Thomas Adam f980e868dd Merge branch 'obsd-master' 2019-04-18 14:11:22 +01:00
nicm 5b9211d827 Copy the code to infer the option type to show-options and document it. 2019-04-18 12:22:07 +00:00
Thomas Adam 04402db616 Merge branch 'obsd-master' 2019-04-05 23:02:36 +01:00
nicm 1b5a8a0f09 Fix some warnings, from Thomas Adam. 2019-04-05 20:32:31 +00:00
Thomas Adam 073d439965 Merge branch 'obsd-master' 2019-03-19 00:02:39 +00:00
nicm f34ebfed76 The individual -fg, -bg and -attr options have been deprecated (in
favour of -style), undocumented and hidden from show-options since
2014. Remove them, except for status-fg and status-bg.
2019-03-18 21:46:01 +00:00
Thomas Adam acb2413852 Merge branch 'obsd-master' 2019-03-18 15:07:51 +00:00
nicm ce6be7afd4 Make array options a sparse tree instead of an array of char * and
remove the size limit.
2019-03-18 11:58:40 +00:00
Thomas Adam 0868512bbc Merge branch 'obsd-master' 2017-05-10 16:01:10 +01:00
nicm b519551153 Expand formats in option names and add -F flag to do so in option values as well. 2017-05-10 13:05:41 +00:00
Thomas Adam e802b683ea Merge branch 'obsd-master' 2017-04-22 12:01:19 +01:00
nicm ee45a8a149 Get rid of the extra layer of flags and cmd_prepare() and just store the
CMD_FIND_* flags in the cmd_entry and call it for the command. Commands
with special requirements call it themselves and update the target for
hooks to use.
2017-04-22 10:22:39 +00:00
Thomas Adam d8da761d54 Merge branch 'obsd-master' 2017-01-31 00:01:12 +00:00
nicm 3408595f77 When a flag option is used in a format, it should use the number form
not string.
2017-01-30 21:41:17 +00:00
Thomas Adam f38a6bbd81 Merge branch 'obsd-master' 2017-01-24 20:01:12 +00:00
nicm 61fce272ea If given an array option without an index either show or set all items,
and support -a for array options. Allow the separator for set to be
specified in the options table (will be used for backwards compatibility
later).
2017-01-24 19:11:46 +00:00
Thomas Adam 044999ce6d Merge branch 'obsd-master' 2017-01-18 12:01:11 +00:00
nicm faa0570309 Plain stravis() because it will mangle UTF-8 characters, so add
utf8_stravis() which calls our existing utf8_strvis() and use it instead
2017-01-18 10:08:05 +00:00
Thomas Adam 6d37984f4f Merge branch 'obsd-master' 2017-01-18 10:01:12 +00:00
nicm 373541104b options_match needs to explicitly check for user options. 2017-01-18 08:40:50 +00:00
Thomas Adam 7e110b9d99 Merge branch 'obsd-master' 2017-01-16 15:36:02 +00:00
nicm 68db958477 getopt() has a struct option so just return to using options_entry. 2017-01-16 14:49:14 +00:00
Nicholas Marriott 997b11741c Remove vis.h which comes from compat. 2017-01-16 12:09:04 +00:00
nicm 2b0bc9f1c5 Major tidy up and rework of options tree and set-option/show-options
commands this pushes more of the code into options.c and ties it more
closely to the options table rather than having an unnecessary
split. Also add support for array options (will be used later). Only
(intentional) user visible change is that show-options output is now
passed through vis(3) with VIS_DQ so quotes are escaped.
2017-01-15 20:48:41 +00:00
nicm b342bd0b46 Mass rename struct cmd_q to struct cmdq_item and related. 2016-10-16 19:04:05 +00:00
nicm ed971268be Add CMD_AFTERHOOK flag to the easy commands that don't need any special handling. 2016-10-14 22:14:22 +00:00
nicm a81685bfac Add static in cmd-* and fix a few other nits. 2016-10-10 21:51:39 +00:00
nicm df0983af39 show-* and set-* need to handle a missing target. 2016-03-03 14:15:22 +00:00
nicm 995af0e2b7 I no longer use my SourceForge address so replace it. 2016-01-19 15:59:12 +00:00
nicm a3129fd4e8 Instead of combined flags for -c, -s, -t, split into different sets
using an enum and simplify the parsing code.
2015-12-14 00:31:54 +00:00
nicm ecfeee2e82 Use member names in cmd_entry definitions so I stop getting confused
about the order.
2015-12-13 21:53:57 +00:00
nicm fd47084224 show-options and environment need CANFAIL flag. 2015-12-13 18:15:13 +00:00
nicm 4a4daf1303 Instead of every command resolving the target (-t or -s) itself, prepare
the state (client, session, winlink, pane) for it it before entering the
command. Each command provides some flags that tell the prepare step
what it is expecting.

This is a requirement for having hooks on commands (for example, if you
hook "select-window -t1:2", the hook command should to operate on window
1:2 not whatever it thinks is the current window), and should allow some
other target improvements.

The old cmd_find_* functions remain for the moment but that layer will
be dropped later.

Joint work with Thomas Adam.
2015-12-13 14:32:38 +00:00
nicm fce56c56ef Instead of separate tables for different types of options, give each
option a scope type (server, session, window) in one table.
2015-11-20 12:01:19 +00:00
nicm 44657bf932 Move struct options into options.c. 2015-10-27 15:58:42 +00:00
nicm 45dfc5a074 Instead of setting up the default keys by building the key struct
directly with a helper function in the cmd_entry, include a table of
bind-key commands and pass them through the command parser and a
temporary cmd_q.

As well as being smaller, this will allow default bindings to be command
sequences which will probably be needed soon.
2014-10-20 22:29:25 +00:00
nicm ebc5cb447f Do not show the -fg, -bg and -attr options. If asked for one explicitly,
show the equivalent -style option instead.
2014-04-17 07:43:20 +00:00