main 98594d0

format.json RawHistoryFolder

1{
2  "format": [
3    {
4      "expr": "format(null)",
5      "result": { "kind": "String", "value": "" }
6    },
7    {
8      "expr": "format(null, 'some arg')",
9      "result": { "kind": "String", "value": "" }
10    },
11    {
12      "expr": "format('')",
13      "result": { "kind": "String", "value": "" }
14    },
15    {
16      "expr": "format('', 'some arg')",
17      "result": { "kind": "String", "value": "" }
18    },
19    {
20      "expr": "format('123{0}456', 'abc')",
21      "result": { "kind": "String", "value": "123abc456" }
22    },
23    {
24      "expr": "format('123{0}456{0}789', 'abc')",
25      "result": { "kind": "String", "value": "123abc456abc789" }
26    },
27    {
28      "expr": "format('123{0}456{1}789', 'abc', 'def')",
29      "result": { "kind": "String", "value": "123abc456def789" }
30    },
31    {
32      "expr": "format('{0}123', 'abc')",
33      "result": { "kind": "String", "value": "abc123" }
34    },
35    {
36      "expr": "format('123{0}', 'abc')",
37      "result": { "kind": "String", "value": "123abc" }
38    },
39    {
40      "expr": "format('123{0}{1}456', 'abc', 'def')",
41      "result": { "kind": "String", "value": "123abcdef456" }
42    },
43    {
44      "expr": "format('{{0}}', 'abc')",
45      "result": { "kind": "String", "value": "{0}" }
46    },
47    {
48      "expr": "format('{{{{0}}}}', 'abc')",
49      "result": { "kind": "String", "value": "{{0}}" }
50    },
51    {
52      "expr": "format('}}', 'abc')",
53      "result": { "kind": "String", "value": "}" }
54    },
55    {
56      "expr": "format('{{', 'abc')",
57      "result": { "kind": "String", "value": "{" }
58    },
59    {
60      "expr": "format('}}{{', 'abc')",
61      "result": { "kind": "String", "value": "}{" }
62    },
63    {
64      "expr": "format('}}{{}}', 'abc')",
65      "result": { "kind": "String", "value": "}{}" }
66    },
67    {
68      "expr": "format('{0}', Infinity)",
69      "result": { "kind": "String", "value": "Infinity" }
70    },
71    {
72      "expr": "format('{0}', -Infinity)",
73      "result": { "kind": "String", "value": "-Infinity" }
74    },
75    {
76      "expr": "format('{0}', NaN)",
77      "result": { "kind": "String", "value": "NaN" }
78    },
79    {
80      "expr": "format('{0}', -0)",
81      "result": { "kind": "String", "value": "0" }
82    },
83    {
84      "expr": "format('{0}', -0.0)",
85      "result": { "kind": "String", "value": "0" }
86    },
87    {
88      "expr": "format('{0')",
89      "err": {
90        "kind": "evaluation",
91        "value": "The following format string is invalid: {0"
92      }
93    },
94    {
95      "expr": "format('{0', '')",
96      "err": {
97        "kind": "evaluation",
98        "value": "The following format string is invalid: {0"
99      }
100    },
101    {
102      "expr": "format('{0}}', '')",
103      "err": {
104        "kind": "evaluation",
105        "value": "The following format string is invalid: {0}}"
106      }
107    },
108    {
109      "expr": "format('{0}}}}', '')",
110      "err": {
111        "kind": "evaluation",
112        "value": "The following format string is invalid: {0}}}}"
113      }
114    },
115    {
116      "expr": "format('0}')",
117      "err": {
118        "kind": "evaluation",
119        "value": "The following format string is invalid: 0}"
120      }
121    },
122    {
123      "expr": "format('0}', '')",
124      "err": {
125        "kind": "evaluation",
126        "value": "The following format string is invalid: 0}"
127      }
128    },
129    {
130      "expr": "format('{{0}')",
131      "err": {
132        "kind": "evaluation",
133        "value": "The following format string is invalid: {{0}"
134      }
135    },
136    {
137      "expr": "format('{{0}', '')",
138      "err": {
139        "kind": "evaluation",
140        "value": "The following format string is invalid: {{0}"
141      }
142    },
143    {
144      "expr": "format('{{{{0}')",
145      "err": {
146        "kind": "evaluation",
147        "value": "The following format string is invalid: {{{{0}"
148      }
149    },
150    {
151      "expr": "format('{{{{0}', '')",
152      "err": {
153        "kind": "evaluation",
154        "value": "The following format string is invalid: {{{{0}"
155      }
156    },
157    {
158      "expr": "format('}0{')",
159      "err": {
160        "kind": "evaluation",
161        "value": "The following format string is invalid: }0{"
162      }
163    },
164    {
165      "expr": "format('}0{', '')",
166      "err": {
167        "kind": "evaluation",
168        "value": "The following format string is invalid: }0{"
169      }
170    },
171    {
172      "expr": "format('}{0}')",
173      "err": {
174        "kind": "evaluation",
175        "value": "The following format string is invalid: }{0}"
176      }
177    },
178    {
179      "expr": "format('}{0}', '')",
180      "err": {
181        "kind": "evaluation",
182        "value": "The following format string is invalid: }{0}"
183      }
184    },
185    {
186      "expr": "format('{0}{', '')",
187      "err": {
188        "kind": "evaluation",
189        "value": "The following format string is invalid: {0}{"
190      }
191    },
192    {
193      "expr": "format('{0}')",
194      "err": {
195        "kind": "evaluation",
196        "value": "The following format string references more arguments than were supplied: {0}"
197      }
198    },
199    {
200      "expr": "format('{0}{1}', 'abc')",
201      "err": {
202        "kind": "evaluation",
203        "value": "The following format string references more arguments than were supplied: {0}{1}"
204      }
205    }
206  ]
207}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 3

↑↓ moveenter openesc close