rc

Improve the way GNU Emacs is started during boot

Up to this point (mostly for debugging purposes), I've always booted a new instance when starting Spacemacs. Although it's pretty clear that (Neo)Vim cannot match the superior configuration that GNU Emacs offers, the latter can't ever hope to match the speed at which (Neo)Vim manages to boot. All those features come at an extremely remarkable cost.
However, now that debugging is mostly finished, and my setup is pretty much done, I've changed my config files so that, during boot, a GNU Emacs daemon is started immediately, which I can then hook onto using an i3 keybinding (diff the corresponding config files for details). This was described on the [Arch Wiki](https://wiki.archlinux.org/index.php/Spacemacs#Daemon_mode).
This is *not* a solution I particulary like, since it's pretty much circumventing a fundamental problem (slow startup time) with a simulated "instant boot". Nevertheless, I approve of it, since it solves the problem well enough for me to not give a fuck about it. And software that I don't have to give a fuck about, and just does what it does well, is good software.
Besides, as long as [Atom](https://atom.io) is a thing that exists, speed is the last counterpoint you can make to GNU Emacs.

Author
Maarten 'Vngngdn' Vangeneugden
Date
Sept. 19, 2017, 12:20 a.m.
Hash
46359fdbe321979d32a304c69169ecbba00bc667
Parent
e3fcee38a97aac7efb9bbf9056bdbab211d11287
Modified files
.spacemacs
.zlogin
i3/config

.spacemacs

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

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