forked from nikitabobko/AeroSpace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
args-grammar.conf
108 lines (77 loc) · 4.15 KB
/
args-grammar.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# EBNF-like grammar of aerospace CLI args to generate shell completion. Managed by https://github.com/adaszko/complgen
aerospace <subcommand>;
aerospace -v;
aerospace --version;
aerospace --help;
aerospace -h;
<subcommand> ::= close [--quit-if-last-window]
| close-all-windows-but-current [--quit-if-last-window]
| enable (on|off|toggle)
| flatten-workspace-tree
| <focus-subcommand>
| focus-monitor [--wrap-around] (left|down|up|right) | focus-monitor (left|down|up|right) [--wrap-around]
| focus-monitor [--wrap-around] (next|prev) | focus-monitor (next|prev) [--wrap-around]
| focus-monitor <monitor-pattern>...
| join-with (left|down|up|right)
| layout (h_tiles|v_tiles|h_accordion|v_accordion|tiles|accordion|horizontal|vertical|tiling|floating)...
| macos-native-fullscreen [on|off]
| macos-native-minimize
| mode <binding-mode>
| move (left|down|up|right)
| move-node-to-monitor [--wrap-around] (left|down|up|right) | move-node-to-monitor (left|down|up|right) [--wrap-around]
| move-node-to-monitor [--wrap-around] (next|prev) | move-node-to-monitor (next|prev) [--wrap-around]
| move-node-to-monitor <monitor-pattern>...
| move-node-to-workspace [--wrap-around] (next|prev) | move-node-to-workspace (next|prev) [--wrap-around]
| move-node-to-workspace <workspace>
| move-workspace-to-monitor [--wrap-around] (next|prev) | move-workspace-to-monitor (next|prev) [--wrap-around]
| reload-config [--no-gui] [--dry-run] | reload-config [--dry-run] [--no-gui]
| resize (smart|width|height) [+|-]<number>
| split (horizontal|vertical|opposite)
| trigger-binding <binding> --mode <mode-id> | trigger-binding --mode <mode-id> <binding>
| workspace [--auto-back-and-forth] <workspace> | workspace <workspace> [--auto-back-and-forth]
| workspace [--wrap-around] (next|prev) | workspace (next|prev) [--wrap-around]
| workspace-back-and-forth
| config --get <config-key> [--json|--keys]... | config [--json|--keys]... --get <config-key>
| config --major-keys
| config --all-keys
| config --config-path
| debug-windows
| list-apps [--macos-native-hidden [no]]
| list-exec-env-vars
| list-monitors [--focused [no]] [--mouse [no]] | list-monitors [--mouse [no]] [--focused [no]]
| <list-windows-subcommand>
| list-workspaces --monitor <monitor-id>... [--visible [no]|--empty [no]]...
| list-workspaces [--visible [no]|--empty [no]]... --monitor <monitor-id>...
| list-workspaces --all
| list-workspaces --focused
;
<window-id> ::= {{{ aerospace list-windows --all --format "%{window-id}%{right-padding}%{tab}%{app-name}%{right-padding} | %{window-title}" }}};
<binding> ::= {{{ aerospace config --get mode --keys | xargs -I{} aerospace config --get mode.{}.binding --keys }}};
<mode-id> ::= {{{ aerospace config --get mode --keys }}};
<binding-mode> ::= <mode-id>;
<workspace> ::= {{{ aerospace list-workspaces --monitor all --empty no }}};
<config-key> ::= {{{ aerospace config --all-keys }}};
<number> ::= {{{ true }}};
<monitor-pattern> ::= {{{ true }}};
<focus-subcommand> ::=
focus [<focus-flag>]... (left|down|up|right) [<focus-flag>]... |
focus --window-id <window-id>;
<focus-flag> ::= --boundaries <boundary>|--boundaries-actions <boundaries-action>;
<boundaries-action> ::= stop|wrap-around-the-workspace|wrap-around-all-monitors;
<boundary> ::= workspace|all-monitors-outer-frame;
<list-windows-subcommand> ::=
list-windows [<list-windows-filter-flag>]... |
list-windows [<list-windows-format-flag>] --all | list-windows --all [<list-windows-format-flag>] |
list-windows [<list-windows-format-flag>] --focused | list-windows --focused [<list-windows-format-flag>];
<list-windows-filter-flag> ::= --workspace <workspace-or-special>...
| --monitor <monitor-id>...
| --pid <pid>
| --app-bundle-id <app-bundle-id>
| <list-windows-format-flag>
;
<list-windows-format-flag> ::= --format <output-format>;
<output-format> ::= {{{ true }}};
<workspace-or-special> ::= visible | focused | <workspace>;
<app-bundle-id> ::= {{{ true }}}; # todo
<pid> ::= {{{ true }}}; # todo
<monitor-id> ::= all | mouse | focused; # todo