rc

Update Spacemacs configuration

Author
Maarten 'Vngngdn' Vangeneugden
Date
Oct. 22, 2017, 5:09 p.m.
Hash
2a0c4d5bbaee23d45509efaa66a6f4fb505ceda2
Parent
60b84db26ad928b8e65ef80ac8bf8fdd13425cc9
Modified file
.spacemacs

.spacemacs

47 additions and 2 deletions.

View changes Hide changes
1
1
;; This file is loaded by Spacemacs at startup.
2
2
;; It must be stored in your home directory.
3
3
;;;; Local
4
4
(setq is-linuxp (eq system-type 'gnu/linux))
5
5
(defun os-path (x) (if is-linuxp x (expand-file-name x "c:")))
6
6
7
7
;;;; Core
8
8
9
9
(defvar dotspacemacs/layers/core
10
10
  '(
11
11
    git
12
12
    org ;; :variables
13
13
         ;;org-agenda-files '(
14
14
                            ;;"~/University/"
15
15
                            ;;"~/Repositories/private/org/"
16
16
                            ;;"~/University/COMPN/"))
17
17
    syntax-checking
18
18
    (auto-completion :variables
19
19
                     auto-completion-return-key-behavior 'complete
20
20
                     auto-completion-tab-key-behavior 'cycle
21
21
                     auto-completion-enable-snippets-in-popup t
22
22
                     auto-completion-complete-with-key-sequence-delay nil)
23
23
    ycmd
24
24
    helm
25
25
    (version-control :variables
26
26
                     version-control-global-margin t
27
27
                     version-control-diff-tool 'git-gutter+)
28
28
    )
29
29
  "Layers I consider core to Spacemacs")
30
30
31
31
;; Langs
32
32
33
33
(defvar dotspacemacs/layers/langs
34
34
  '(emacs-lisp
35
35
    html
36
36
    markdown
37
37
    csv
38
38
    yaml
39
39
    ;rust
40
40
    (clojure :variables
41
41
             clojure-enable-fancify-symbols t)
42
42
    (haskell :variables
43
43
             haskell-completion-backend 'intero)
44
44
    (python :variables
45
45
            python-sort-imports-on-save t
46
46
            python-test-runner 'pytest)
47
47
    )
48
48
  "Programming and markup language layers")
49
49
50
50
;;;; Extra
51
51
52
52
(defvar dotspacemacs/layers/extra
53
53
  '(gnus
54
54
    graphviz
55
55
    themes-megapack
56
56
    ;; TODO: Needs configuration: http://spacemacs.org/layers/+themes/theming/README.html
57
57
    theming
58
58
                                     )
59
59
  "Miscellaneous layers")
60
60
61
61
(defun dotspacemacs/layers ()
62
62
  "Configuration Layers declaration.
63
63
You should not put any user code in this function besides modifying the variable
64
64
values."
65
65
  (setq-default
66
66
   ;; Base distribution to use. This is a layer contained in the directory
67
67
   ;; `+distribution'. For now available distributions are `spacemacs-base'
68
68
   ;; or `spacemacs'. (default 'spacemacs)
69
69
   dotspacemacs-distribution 'spacemacs
70
70
   ;; Lazy installation of layers (i.e. layers are installed only when a file
71
71
   ;; with a supported type is opened). Possible values are `all', `unused'
72
72
   ;; and `nil'. `unused' wilIn addition, we will also organise a second review moment on 30 November which will deal with broader code issues, such as OO structure, comments, naming, code style, robustness, logging, etc. (for preparation and inspiration, see http://www.phpied.com/how-to-write-unmaintainable-php-code-2009/)
73
73
74
74
   ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will
75
75
   ;; lazy iELPAnstall any layer that support lazy installation even the layers
76
76
   ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy
77
77
   ;; installation feature and you have to explicitly list a layer in the
78
78
   ;; variable `dotspacemacs-configuration-layers' to install it.
79
79
   ;; (default 'unused)
80
80
   dotspacemacs-enable-lazy-installation 'unused
81
81
   ;; If non-nil then Spacemacs will ask for confirmation before installing
82
82
   ;; a layer lazily. (default t)
83
83
   dotspacemacs-ask-for-lazy-installation t
84
84
   ;; If non-nil layers with lazy install support are lazy installed.
85
85
   ;; List of additional paths where to look for configuration layers.
86
86
   ;; Paths must have a trailing slash (i.e. `~/.mycontribs/')
87
87
   dotspacemacs-configuration-layer-path `(,(os-path "~/.emacs.d/layers/"))
88
88
   ;; List of configuration layers to load.
89
89
   dotspacemacs-configuration-layers (append
90
90
                                         dotspacemacs/layers/core
91
91
                                         dotspacemacs/layers/langs
92
92
                                         dotspacemacs/layers/extra)
93
93
   ;; List of additional packages that will be installed without being
94
94
   ;; wrapped in a layer. If you need some configuration for these
95
95
   ;; packages, then consider creating a layer. You can also put the
96
96
   ;; configuration in `dotspacemacs/user-config'.
97
97
   dotspacemacs-additional-packages '(
98
98
    markdown-mode
99
99
    (pretty-mode :location (recipe :fetcher github :repo "akatov/pretty-mode"))
+
100
    (pretty-mode :location (recipe :fetcher github :repo "akatov/pretty-mode"))
100
101
    (prettify-utils :location (recipe :fetcher github :repo "Ilazki/prettify-utils.el"))
101
102
    (company-mode :location (recipe :fetcher github :repo "company-mode/company-mode"))
102
103
    (emacs-ycmd :location (recipe :fetcher github :repo "abingham/emacs-ycmd"))
103
104
    (company-flx :location (recipe :fetcher github :repo "PythonNut/company-flx")))
104
105
105
106
   ;; A list of packages that cannot be updated.
106
107
   dotspacemacs-frozen-packages '()
107
108
   ;; A list of packages that will not be installed and loaded.
108
109
   dotspacemacs-excluded-packages '(
109
110
                                    smartparens
110
111
                                    exec-path-from-shell)
111
112
   ;; Defines the behaviour of Spacemacs when installing packages.
112
113
   ;; Possible values are `used-only', `used-but-keep-unused' and `all'.
113
114
   ;; `used-only' installs only explicitly used packages and uninstall any
114
115
   ;; unused packages as well as their unused dependencies.
115
116
   ;; `used-but-keep-unused' installs only the used packages but won't uninstall
116
117
   ;; them if they become unused. `all' installs *all* packages supported by
117
118
   ;; Spacemacs and never uninstall them. (default is `used-only')
118
119
   dotspacemacs-install-packages 'used-only))
119
120
120
121
(defun dotspacemacs/init ()
121
122
  "Initialization function.
122
123
This function is called at the very startup of Spacemacs initialization
123
124
before layers configuration.
124
125
You should not put any user code in there besides modifying the variable
125
126
values."
126
127
  ;; This setq-default sexp is an exhaustive list of all the supported
127
128
  ;; spacemacs settings.
128
129
  (setq-default
129
130
   ;; If non nil ELPA repositories are contacted via HTTPS whenever it's
130
131
   ;; possible. Set it to nil if you have no way to use HTTPS in your
131
132
   ;; environment, otherwise it is strongly recommended to let it set to t.
132
133
   ;; This variable has no effect if Emacs is launched with the parameter
133
134
   ;; `--insecure' which forces the value of this variable to nil.
134
135
   ;; (default t)
135
136
   dotspacemacs-elpa-https t
136
137
   ;; Maximum allowed time in seconds to contact an ELPA repository.
137
138
   dotspacemacs-elpa-timeout 5
138
139
   ;; If non nil then spacemacs will check for updates at startup
139
140
   ;; when the current branch is not `develop'. Note that checking for
140
141
   ;; new versions works via git commands, thus it calls GitHub services
141
142
   ;; whenever you start Emacs. (default nil)
142
143
   dotspacemacs-check-for-update nil
143
144
   ;; If non-nil, a form that evaluates to a package directory. For example, to
144
145
   ;; use different package directories for different Emacs versions, set this
145
146
   ;; to `emacs-version'.
146
147
   dotspacemacs-elpa-subdirectory nil
147
148
   ;; One of `vim', `emacs' or `hybrid'.
148
149
   ;; `hybrid' is like `vim' except that `insert state' is replaced by the
149
150
   ;; `hybrid state' with `emacs' key bindings. The value can also be a list
150
151
   ;; with `:variables' keyword (similar to layers). Check the editing styles
151
152
   ;; section of the documentation for details on available variables.
152
153
   ;; (default 'vim)
153
154
   dotspacemacs-editing-style 'vim
154
155
   ;; If non nil output loading progress in `*Messages*' buffer. (default nil)
155
156
   dotspacemacs-verbose-loading nil
156
157
   ;; Specify the startup banner. Default value is `official', it displays
157
158
   ;; the official spacemacs logo. An integer value is the index of text
158
159
   ;; banner, `random' chooses a random text banner in `core/banners'
159
160
   ;; directory. A string value must be a path to an image format supported
160
161
   ;; by your Emacs build.
161
162
   ;; If the value is nil then no banner is displayed. (default 'official)
162
163
   dotspacemacs-startup-banner 'official
163
164
   ;; List of items to show in startup buffer or an association list of
164
165
   ;; the form `(list-type . list-size)`. If nil then it is disabled.
165
166
   ;; Possible values for list-type are:
166
167
   ;; `recents' `bookmarks' `projects' `agenda' `todos'."
167
168
   ;; List sizes may be nil, in which case
168
169
   ;; `spacemacs-buffer-startup-lists-length' takes effect.
169
170
   dotspacemacs-startup-lists '((recents . 5)
170
171
                                (projects . 7))
171
172
   ;; True if the home buffer should respond to resize events.
172
173
   dotspacemacs-startup-buffer-responsive t
173
174
   ;; Default major mode of the scratch buffer (default `text-mode')
174
175
   dotspacemacs-scratch-mode 'text-mode
175
176
   ;; List of themes, the first of the list is loaded when spacemacs starts.
176
177
   ;; Press  T n to cycle to the next theme in the list (works great
177
178
   ;; with 2 themes variants, one dark and one light)
178
179
   dotspacemacs-themes '(monokai
179
180
                         solarized-dark
180
181
                         solarized-light)
181
182
   ;; If non nil the cursor color matches the state color in GUI Emacs.
182
183
   dotspacemacs-colorize-cursor-according-to-state t
183
184
   ;; Default font, or prioritized list of fonts. `powerline-scale' allows to
184
185
   ;; quickly tweak the mode-line size to make separators look not too crappy.
185
186
   dotspacemacs-default-font '("Hack"
186
187
                               :size 15
187
188
                               :weight normal
188
189
                               :width normal
189
190
                               :powerline-scale 1.5)
190
191
   ;; The leader key
191
192
   dotspacemacs-leader-key "SPC"
192
193
   ;; The key used for Emacs commands (M-x) (after pressing on the leader key).
193
194
   ;; (default "SPC")
194
195
   dotspacemacs-emacs-command-key "SPC"
195
196
   ;; The key used for Vim Ex commands (default ":")
196
197
   dotspacemacs-ex-command-key ":"
197
198
   ;; The leader key accessible in `emacs state' and `insert state'
198
199
   ;; (default "M-m")
199
200
   dotspacemacs-emacs-leader-key "M-m"
200
201
   ;; Major mode leader key is a shortcut key which is the equivalent of
201
202
   ;; pressing ` m`. Set it to `nil` to disable it. (default ",")
202
203
   dotspacemacs-major-mode-leader-key ","
203
204
   ;; Major mode leader key accessible in `emacs state' and `insert state'.
204
205
   ;; (default "C-M-m")
205
206
   dotspacemacs-major-mode-emacs-leader-key "C-M-m"
206
207
   ;; These variables control whether separate commands are bound in the GUI to
207
208
   ;; the key pairs C-i, TAB and C-m, RET.
208
209
   ;; Setting it to a non-nil value, allows for separate commands under 
209
210
   ;; and TAB or  and RET.
210
211
   ;; In the terminal, these pairs are generally indistinguishable, so this only
211
212
   ;; works in the GUI. (default nil)
212
213
   dotspacemacs-distinguish-gui-tab nil
213
214
   ;; If non nil `Y' is remapped to `y$' in Evil states. (default nil)
214
215
   dotspacemacs-remap-Y-to-y$ nil
215
216
   ;; If non-nil, the shift mappings `<' and `>' retain visual state if used
216
217
   ;; there. (default t)
217
218
   dotspacemacs-retain-visual-state-on-shift t
218
219
   ;; If non-nil, J and K move lines up and down when in visual mode.
219
220
   ;; (default nil)
220
221
   dotspacemacs-visual-line-move-text nil
221
222
   ;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command.
222
223
   ;; (default nil)
223
224
   dotspacemacs-ex-substitute-global nil
224
225
   ;; Name of the default layout (default "Default")
225
226
   dotspacemacs-default-layout-name "Default"
226
227
   ;; If non nil the default layout name is displayed in the mode-line.
227
228
   ;; (default nil)
228
229
   dotspacemacs-display-default-layout nil
229
230
   ;; If non nil then the last auto saved layouts are resume automatically upon
230
231
   ;; start. (default nil)
231
232
   dotspacemacs-auto-resume-layouts nil
232
233
   ;; Size (in MB) above which spacemacs will prompt to open the large file
233
234
   ;; literally to avoid performance issues. Opening a file literally means that
234
235
   ;; no major mode or minor modes are active. (default is 1)
235
236
   dotspacemacs-large-file-size 1
236
237
   ;; Location where to auto-save files. Possible values are `original' to
237
238
   ;; auto-save the file in-place, `cache' to auto-save the file to another
238
239
   ;; file stored in the cache directory and `nil' to disable auto-saving.
239
240
   ;; (default 'cache)
240
241
   dotspacemacs-auto-save-file-location 'cache
241
242
   ;; Maximum number of rollback slots to keep in the cache. (default 5)
242
243
   dotspacemacs-max-rollback-slots 5
243
244
   ;; If non nil, `helm' will try to minimize the space it uses. (default nil)
244
245
   dotspacemacs-helm-resize nil
245
246
   ;; if non nil, the helm header is hidden when there is only one source.
246
247
   ;; (default nil)
247
248
   dotspacemacs-helm-no-header nil
248
249
   ;; define the position to display `helm', options are `bottom', `top',
249
250
   ;; `left', or `right'. (default 'bottom)
250
251
   dotspacemacs-helm-position 'bottom
251
252
   ;; Controls fuzzy matching in helm. If set to `always', force fuzzy matching
252
253
   ;; in all non-asynchronous sources. If set to `source', preserve individual
253
254
   ;; source settings. Else, disable fuzzy matching in all sources.
254
255
   ;; (default 'always)
255
256
   dotspacemacs-helm-use-fuzzy 'always
256
257
   ;; If non nil the paste micro-state is enabled. When enabled pressing `p`
257
258
   ;; several times cycle between the kill ring content. (default nil)
258
259
   dotspacemacs-enable-paste-transient-state nil
259
260
   ;; Which-key delay in seconds. The which-key buffer is the popup listing
260
261
   ;; the commands bound to the current keystroke sequence. (default 0.4)
261
262
   dotspacemacs-which-key-delay 0
262
263
   ;; Which-key frame position. Possible values are `right', `bottom' and
263
264
   ;; `right-then-bottom'. right-then-bottom tries to display the frame to the
264
265
   ;; right; if there is insufficient space it displays it at the bottom.
265
266
   ;; (default 'bottom)
266
267
   dotspacemacs-which-key-position 'bottom
267
268
   ;; If non nil a progress bar is displayed when spacemacs is loading. This
268
269
   ;; may increase the boot time on some systems and emacs builds, set it to
269
270
   ;; nil to boost the loading time. (default t)
270
271
   dotspacemacs-loading-progress-bar t
271
272
   ;; If non nil the frame is fullscreen when Emacs starts up. (default nil)
272
273
   ;; (Emacs 24.4+ only)
273
274
   dotspacemacs-fullscreen-at-startup nil
274
275
   ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
275
276
   ;; Use to disable fullscreen animations in OSX. (default nil)
276
277
   dotspacemacs-fullscreen-use-non-native nil
277
278
   ;; des dired-mode
278
279
   ;;                       doc-view-mode
279
280
   ;;                       markdown-mode
280
281
   ;;                       org-mode
281
282
   ;;                       pdf-view-mode
282
283
   ;;                       text-mode
283
284
   ;;   :size-limit-kb 1000)
284
285
   ;; (default nil)
285
286
   dotspacemacs-line-numbers 'relative
286
287
   ;; Code folding method. Possible values are `evil' and `origami'.
287
288
   ;; (default 'evil)
288
289
   dotspacemacs-folding-method 'evil
289
290
   ;; If non-nil smartparens-strict-mode will be enabled in programming modes.
290
291
   ;; (default nil)
291
292
   dotspacemacs-smartparens-strict-mode nil
292
293
   ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes
293
294
   ;; over any automatically added closing parenthesis, bracket, quote, etc…
294
295
   ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil)
295
296
   dotspacemacs-smart-closing-parenthesis nil
296
297
   ;; Select a scope to highlight delimiters. Possible values are `any',
297
298
   ;; `current', `all' or `nil'. Default is `all' (highlight any scope and
298
299
   ;; emphasis the current one). (default 'all)
299
300
   dotspacemacs-highlight-delimiters 'all
300
301
   ;; If non nil, advise quit functions to keep server open when quitting.
301
302
   ;; (default nil)
302
303
   dotspacemacs-persistent-server nil
303
304
   ;; List of search tool executable names. Spacemacs uses the first installed
304
305
   ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
305
306
   ;; (default '("ag" "pt" "ack" "grep"))
306
307
   dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
307
308
   ;; The default package repository used if no explicit repository has been
308
309
   ;; specified with an installed package.
309
310
   ;; Not used for now. (default nil)
310
311
   dotspacemacs-default-package-repository nil
311
312
   ;; Delete whitespace while saving buffer. Possible values are `all'
312
313
   ;; to aggressively delete empty line and long sequences of whitespace,
313
314
   ;; `trailing' to delete only the whitespace at end of lines, `changed'to
314
315
   ;; delete only whitespace for changed lines or `nil' to disable cleanup.
315
316
   ;; (default nil)
316
317
   dotspacemacs-whitespace-cleanup nil
317
318
   ))
318
319
319
320
(defun dotspacemacs/user-init ()
320
321
  (add-hook 'text-mode-hook #'auto-fill-mode)
321
322
;;; Fira code
322
323
;; This works when using emacs --daemon + emacsclient
323
324
(add-hook 'after-make-frame-functions (lambda (frame) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")))
324
325
;; This works when using emacs without server/client
325
326
(set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")
326
327
;; I haven't found one statement that makes both of the above situations work, so I use both for now
327
328
328
329
(defconst fira-code-font-lock-keywords-alist
329
330
  (mapcar (lambda (regex-char-pair)
330
331
            `(,(car regex-char-pair)
331
332
              (0 (prog1 ()
332
333
                   (compose-region (match-beginning 1)
333
334
                                   (match-end 1)
334
335
                                   ;; The first argument to concat is a string containing a literal tab
335
336
                                   ,(concat "	" (list (decode-char 'ucs (cadr regex-char-pair)))))))))
336
337
          '(("\\(www\\)"                   #Xe100)
337
338
            ("[^/]\\(\\*\\*\\)[^/]"        #Xe101)
338
339
            ("\\(\\*\\*\\*\\)"             #Xe102)
339
340
            ("\\(\\*\\*/\\)"               #Xe103)
340
341
            ("\\(\\*>\\)"                  #Xe104)
341
342
            ("[^*]\\(\\*/\\)"              #Xe105)
342
343
            ("\\(\\\\\\\\\\)"              #Xe106)
343
344
            ("\\(\\\\\\\\\\\\\\)"          #Xe107)
344
345
            ("\\({-\\)"                    #Xe108)
345
346
            ("\\(\\[\\]\\)"                #Xe109)
346
347
            ("\\(::\\)"                    #Xe10a)
347
348
            ("\\(:::\\)"                   #Xe10b)
348
349
            ("[^=]\\(:=\\)"                #Xe10c)
349
350
            ("\\(!!\\)"                    #Xe10d)
350
351
            ("\\(!=\\)"                    #Xe10e)
351
352
            ("\\(!==\\)"                   #Xe10f)
352
353
            ("\\(-}\\)"                    #Xe110)
353
354
            ("\\(--\\)"                    #Xe111)
354
355
            ("\\(---\\)"                   #Xe112)
355
356
            ("\\(-->\\)"                   #Xe113)
356
357
            ("[^-]\\(->\\)"                #Xe114)
357
358
            ("\\(->>\\)"                   #Xe115)
358
359
            ("\\(-<\\)"                    #Xe116)
359
360
            ("\\(-<<\\)"                   #Xe117)
360
361
            ("\\(-~\\)"                    #Xe118)
361
362
            ("\\(#{\\)"                    #Xe119)
362
363
            ("\\(#\\[\\)"                  #Xe11a)
363
364
            ("\\(##\\)"                    #Xe11b)
364
365
            ("\\(###\\)"                   #Xe11c)
365
366
            ("\\(####\\)"                  #Xe11d)
366
367
            ("\\(#(\\)"                    #Xe11e)
367
368
            ("\\(#\\?\\)"                  #Xe11f)
368
369
            ("\\(#_\\)"                    #Xe120)
369
370
            ("\\(#_(\\)"                   #Xe121)
370
371
            ("\\(\\.-\\)"                  #Xe122)
371
372
            ("\\(\\.=\\)"                  #Xe123)
372
373
            ("\\(\\.\\.\\)"                #Xe124)
373
374
            ("\\(\\.\\.<\\)"               #Xe125)
374
375
            ("\\(\\.\\.\\.\\)"             #Xe126)
375
376
            ("\\(\\?=\\)"                  #Xe127)
376
377
            ("\\(\\?\\?\\)"                #Xe128)
377
378
            ("\\(;;\\)"                    #Xe129)
378
379
            ("\\(/\\*\\)"                  #Xe12a)
379
380
            ("\\(/\\*\\*\\)"               #Xe12b)
380
381
            ("\\(/=\\)"                    #Xe12c)
381
382
            ("\\(/==\\)"                   #Xe12d)
382
383
            ("\\(/>\\)"                    #Xe12e)
383
384
            ("\\(//\\)"                    #Xe12f)
384
385
            ("\\(///\\)"                   #Xe130)
385
386
            ("\\(&&\\)"                    #Xe131)
386
387
            ("\\(||\\)"                    #Xe132)
387
388
            ("\\(||=\\)"                   #Xe133)
388
389
            ("[^|]\\(|=\\)"                #Xe134)
389
390
            ("\\(|>\\)"                    #Xe135)
390
391
            ("\\(\\^=\\)"                  #Xe136)
391
392
            ("\\(\\$>\\)"                  #Xe137)
392
393
            ("\\(\\+\\+\\)"                #Xe138)
393
394
            ("\\(\\+\\+\\+\\)"             #Xe139)
394
395
            ("\\(\\+>\\)"                  #Xe13a)
395
396
            ("\\(=:=\\)"                   #Xe13b)
396
397
            ("[^!/]\\(==\\)[^>]"           #Xe13c)
397
398
            ("\\(===\\)"                   #Xe13d)
398
399
            ("\\(==>\\)"                   #Xe13e)
399
400
            ("[^=]\\(=>\\)"                #Xe13f)
400
401
            ("\\(=>>\\)"                   #Xe140)
401
402
            ("\\(<=\\)"                    #Xe141)
402
403
            ("\\(=<<\\)"                   #Xe142)
403
404
            ("\\(=/=\\)"                   #Xe143)
404
405
            ("\\(>-\\)"                    #Xe144)
405
406
            ("\\(>=\\)"                    #Xe145)
406
407
            ("\\(>=>\\)"                   #Xe146)
407
408
            ("[^-=]\\(>>\\)"               #Xe147)
408
409
            ("\\(>>-\\)"                   #Xe148)
409
410
            ("\\(>>=\\)"                   #Xe149)
410
411
            ("\\(>>>\\)"                   #Xe14a)
411
412
            ("\\(<\\*\\)"                  #Xe14b)
412
413
            ("\\(<\\*>\\)"                 #Xe14c)
413
414
            ("\\(<|\\)"                    #Xe14d)
414
415
            ("\\(<|>\\)"                   #Xe14e)
415
416
            ("\\(<\\$\\)"                  #Xe14f)
416
417
            ("\\(<\\$>\\)"                 #Xe150)
417
418
            ("\\(
            
            
            
            
        
        

© 12016- 12024 Maarten Vangeneugden. Unless stated otherwise: Imagery and texts licensed under CC-BY-SA 4.0. Material3 code licensed under GNU AGPLv3+.