Drop having a separate type for style options and make them all strings, which
allows formats to be expanded. Any styles without a '#{' are still validated
when they are set but any with a '#{' are not. Formats are not expanded
usefully in many cases yet, that will be changed later.

To make this work, a few other changes:

- set-option -a with a style option automatically appends a ",".

- OSC 10 and 11 don't set the window-style option anymore, instead the fg and
  bg are stored in the pane struct and act as the defaults that can be
  overridden by window-style.

- status-fg and -bg now override status-style instead of trying to keep them in
  sync.
14 files changed
tree: d664861f00c35ccb98431281618fa84a7d1da0fd
  1. .github/
  2. .gitignore
  3. .mailmap
  4. .travis.yml
  5. CHANGES
  6. COPYING
  7. Makefile.am
  8. README
  9. README.ja
  10. SYNCING
  11. alerts.c
  12. arguments.c
  13. attributes.c
  14. autogen.sh
  15. cfg.c
  16. client.c
  17. cmd-attach-session.c
  18. cmd-bind-key.c
  19. cmd-break-pane.c
  20. cmd-capture-pane.c
  21. cmd-choose-tree.c
  22. cmd-command-prompt.c
  23. cmd-confirm-before.c
  24. cmd-copy-mode.c
  25. cmd-detach-client.c
  26. cmd-display-menu.c
  27. cmd-display-message.c
  28. cmd-display-panes.c
  29. cmd-find-window.c
  30. cmd-find.c
  31. cmd-if-shell.c
  32. cmd-join-pane.c
  33. cmd-kill-pane.c
  34. cmd-kill-server.c
  35. cmd-kill-session.c
  36. cmd-kill-window.c
  37. cmd-list-buffers.c
  38. cmd-list-clients.c
  39. cmd-list-keys.c
  40. cmd-list-panes.c
  41. cmd-list-sessions.c
  42. cmd-list-windows.c
  43. cmd-load-buffer.c
  44. cmd-lock-server.c
  45. cmd-move-window.c
  46. cmd-new-session.c
  47. cmd-new-window.c
  48. cmd-parse.y
  49. cmd-paste-buffer.c
  50. cmd-pipe-pane.c
  51. cmd-queue.c
  52. cmd-refresh-client.c
  53. cmd-rename-session.c
  54. cmd-rename-window.c
  55. cmd-resize-pane.c
  56. cmd-resize-window.c
  57. cmd-respawn-pane.c
  58. cmd-respawn-window.c
  59. cmd-rotate-window.c
  60. cmd-run-shell.c
  61. cmd-save-buffer.c
  62. cmd-select-layout.c
  63. cmd-select-pane.c
  64. cmd-select-window.c
  65. cmd-send-keys.c
  66. cmd-set-buffer.c
  67. cmd-set-environment.c
  68. cmd-set-option.c
  69. cmd-show-environment.c
  70. cmd-show-messages.c
  71. cmd-show-options.c
  72. cmd-source-file.c
  73. cmd-split-window.c
  74. cmd-swap-pane.c
  75. cmd-swap-window.c
  76. cmd-switch-client.c
  77. cmd-unbind-key.c
  78. cmd-wait-for.c
  79. cmd.c
  80. colour.c
  81. compat.h
  82. compat/
  83. configure.ac
  84. control-notify.c
  85. control.c
  86. environ.c
  87. example_tmux.conf
  88. file.c
  89. format-draw.c
  90. format.c
  91. grid-view.c
  92. grid.c
  93. input-keys.c
  94. input.c
  95. job.c
  96. key-bindings.c
  97. key-string.c
  98. layout-custom.c
  99. layout-set.c
  100. layout.c
  101. log.c
  102. logo/
  103. mdoc2man.awk
  104. menu.c
  105. mode-tree.c
  106. names.c
  107. notify.c
  108. options-table.c
  109. options.c
  110. osdep-aix.c
  111. osdep-cygwin.c
  112. osdep-darwin.c
  113. osdep-dragonfly.c
  114. osdep-freebsd.c
  115. osdep-hpux.c
  116. osdep-linux.c
  117. osdep-netbsd.c
  118. osdep-openbsd.c
  119. osdep-sunos.c
  120. osdep-unknown.c
  121. paste.c
  122. popup.c
  123. presentations/
  124. proc.c
  125. regress/
  126. regsub.c
  127. resize.c
  128. screen-redraw.c
  129. screen-write.c
  130. screen.c
  131. server-client.c
  132. server-fn.c
  133. server.c
  134. session.c
  135. spawn.c
  136. status.c
  137. style.c
  138. tmux.1
  139. tmux.c
  140. tmux.h
  141. tools/
  142. tty-acs.c
  143. tty-features.c
  144. tty-keys.c
  145. tty-term.c
  146. tty.c
  147. utf8.c
  148. window-buffer.c
  149. window-client.c
  150. window-clock.c
  151. window-copy.c
  152. window-tree.c
  153. window.c
  154. xmalloc.c
  155. xmalloc.h
  156. xterm-keys.c