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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# Whether to hide hint messages
= false
# Editor settings
# Uses promkit_widgets::text_editor::Config directly
[]
# Editor mode
# "Insert": Insert characters at the cursor position
# "Overwrite": Replace characters at the cursor position with new ones
= "Insert"
# Characters considered as word boundaries
# These are used to define word movement and deletion behavior in the editor
= [".", "|", "(", ")", "[", "]"]
# Style notation (termcfg)
# Format: "fg=<color>,bg=<color>,ul=<color>,attr=<token|token...>"
# Examples:
# - "fg=blue"
# - "fg=#00FF00,bg=black,attr=bold|underlined"
# - "attr=dim"
#
# Color tokens:
# - reset, black, red, green, yellow, blue, magenta, cyan, white
# - darkgrey, darkred, darkgreen, darkyellow, darkblue, darkmagenta, darkcyan, grey
# - #RRGGBB
#
# Attribute tokens (examples):
# - bold, italic, underlined, dim, reverse, crossedout, nounderline, nobold
#
# Notes:
# - ANSI 256-color index tokens (0..255, e.g. "200") are currently out of notation scope.
# - See termcfg notation reference for full token list.
#
# References:
# - https://github.com/ynqa/termcfg/blob/main/Notations.md
# - https://github.com/ynqa/termcfg
# Prefix shown before the cursor
= "❯❯ "
# Style for the prefix
= "fg=blue"
# Style for the character under the cursor
= "bg=magenta"
# Style for all other characters
= ""
# Theme settings when the editor is unfocused
[]
# Prefix shown when focus is lost
= "▼ "
# Style for the prefix when unfocused
= "fg=blue,attr=dim"
# Style for the character under the cursor when unfocused
= "attr=dim"
# Style for all other characters when unfocused
= "attr=dim"
# JSON display settings
[]
# Maximum number of JSON objects to read from streams (e.g., JSON Lines format)
# Limits how many objects are processed to reduce memory usage when handling large data streams
# No limit if unset
# max_streams =
# JSON display settings
# Uses promkit_widgets::jsonstream::Config directly
[]
# Number of spaces to use for indentation
= 2
# Style for curly brackets {}
= "attr=bold"
# Style for square brackets []
= "attr=bold"
# Style for JSON keys
= "fg=cyan"
# Style for string values
= "fg=green"
# Style for number values
= ""
# Style for boolean values
= ""
# Style for null values
= "fg=grey"
# Attribute for the selected row and unselected rows
= "bold"
# Attribute for unselected rows
= "dim"
# Behavior when JSON content exceeds the available width
# "Wrap": Wrap content to the next line
# "Truncate": Truncate content with an ellipsis (...)
= "Wrap"
# Completion feature settings
[]
# Settings for background loading of completion candidates
#
# Number of candidates loaded per chunk for search results
# A larger value displays results faster but uses more memory
= 100
# Number of items loaded per batch during background loading
# A larger value finishes loading sooner but uses more memory temporarily
= 50000
# Completion UI settings
# Uses promkit_widgets::listbox::Config directly
[]
# Number of lines to display for completion candidates
= 3
# Cursor character shown before the selected candidate
= "❯ "
# Style for the selected candidate
= "fg=grey,bg=yellow"
# Style for unselected candidates
= "fg=grey"
# Keybinding settings
[]
# Key to exit the application
= ["Ctrl+C"]
# Key to copy the query to the clipboard
= ["Ctrl+Q"]
# Key to copy the result to the clipboard
= ["Ctrl+O"]
# Keys to switch focus between editor and JSON viewer
= ["Shift+Down", "Shift+Up"]
# Keybindings for editor operations
[]
# Move cursor left
= ["Left"]
# Move cursor right
= ["Right"]
# Move cursor to beginning of line
= ["Ctrl+A"]
# Move cursor to end of line
= ["Ctrl+E"]
# Move cursor to previous word boundary
= ["Alt+B"]
# Move cursor to next word boundary
= ["Alt+F"]
# Delete character at the cursor
= ["Backspace"]
# Delete all input
= ["Ctrl+U"]
# Delete from cursor to previous word boundary
= ["Ctrl+W"]
# Delete from cursor to next word boundary
= ["Alt+D"]
# Trigger completion
= ["Tab"]
# Move up in the completion list
= ["Up"]
# Move down in the completion list
= ["Down", "Tab"]
# Keybindings for JSON viewer operations
[]
# Move up in JSON viewer
= ["Up", "Ctrl+K", "ScrollUp"]
# Move down in JSON viewer
= ["Down", "Ctrl+J", "ScrollDown"]
# Move to the top of JSON viewer
= ["Ctrl+L"]
# Move to the bottom of JSON viewer
= ["Ctrl+H"]
# Toggle expand/collapse of JSON nodes
= ["Enter"]
# Expand all JSON nodes
= ["Ctrl+P"]
# Collapse all JSON nodes
= ["Ctrl+N"]
# Application reactivity settings
[]
# Delay before processing query input
# Prevents excessive updates while user is typing
= "600ms"
# Delay before redrawing after window resize
# Prevents frequent redraws during continuous resizing
= "200ms"
# Interval for spinner animation updates
# Controls the speed of the loading spinner
= "300ms"