[Emacs] Add Zig configuration
This commit is contained in:
parent
6123dec4e3
commit
18658a1556
@ -6836,6 +6836,112 @@ Tide enabled interactivity with Typescript.
|
||||
"roi" #'tide-organize-imports))
|
||||
#+end_src
|
||||
|
||||
**** Zig
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: Packages-Configuration-Programming-languages-General-Programming-Languages-Zig-ud8a6q504cj0
|
||||
:END:
|
||||
[[https://ziglang.org/][Zig]] is to C kind of what Rust is to C++: a modern replacement without
|
||||
sacrificing performance. It is much safer than C while providing
|
||||
interop with it. Plus, its [[https://ziglang.org/documentation/master/std/][standard library]] is pretty complete.
|
||||
|
||||
First, here is its major mode.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package zig-mode
|
||||
:defer t
|
||||
:straight (:build t)
|
||||
:after flycheck
|
||||
:hook (zig-mode . lsp-deferred)
|
||||
:config
|
||||
;; This is from DoomEmacs
|
||||
(flycheck-define-checker zig
|
||||
"A zig syntax checker using the zig-fmt interpreter."
|
||||
:command ("zig" "fmt" (eval (buffer-file-name)))
|
||||
:error-patterns
|
||||
((error line-start (file-name) ":" line ":" column ": error: " (mesage) line-end))
|
||||
:modes zig-mode)
|
||||
(add-to-list 'flycheck-checkers 'zig)
|
||||
:general
|
||||
(phundrak/major-leader-key
|
||||
:packages 'zig-mode
|
||||
:keymaps 'zig-mode-map
|
||||
"c" #'zig-compile
|
||||
"f" #'zig-format-buffer
|
||||
"r" #'zig-run
|
||||
"t" #'zig-test-buffer))
|
||||
#+end_src
|
||||
|
||||
For LSP to work, we need ~zls~ to be installed.
|
||||
#+begin_src fish :results raw :wrap "src text" :exports code
|
||||
paru --skipreview --noconfirm -S zls-bin 2>&1
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
#+begin_src text
|
||||
:: Resolving dependencies...
|
||||
:: Calculating conflicts...
|
||||
:: Calculating inner conflicts...
|
||||
|
||||
Aur (1) zls-bin-0.9.0-2
|
||||
|
||||
:: Proceed with installation? [Y/n]:
|
||||
|
||||
:: Downloading PKGBUILDs...
|
||||
PKGBUILDs up to date
|
||||
fetching devel info...
|
||||
==> Making package: zls-bin 0.9.0-2 (2022-01-17T00:43:50 CET)
|
||||
==> Retrieving sources...
|
||||
-> Found zls-LICENSE.txt
|
||||
-> Found zls-bin-0.9.0.tar.gz
|
||||
==> Validating source files with sha256sums...
|
||||
zls-LICENSE.txt ... Passed
|
||||
==> Validating source_x86_64 files with sha256sums...
|
||||
zls-bin-0.9.0.tar.gz ... Passed
|
||||
==> Making package: zls-bin 0.9.0-2 (2022-01-17T00:43:51 CET)
|
||||
==> Checking runtime dependencies...
|
||||
==> Checking buildtime dependencies...
|
||||
==> Retrieving sources...
|
||||
-> Found zls-LICENSE.txt
|
||||
-> Found zls-bin-0.9.0.tar.gz
|
||||
==> Validating source files with sha256sums...
|
||||
zls-LICENSE.txt ... Passed
|
||||
==> Validating source_x86_64 files with sha256sums...
|
||||
zls-bin-0.9.0.tar.gz ... Passed
|
||||
==> Removing existing $srcdir/ directory...
|
||||
==> Extracting sources...
|
||||
-> Extracting zls-bin-0.9.0.tar.gz with bsdtar
|
||||
==> Sources are ready.
|
||||
zls-bin-0.9.0-2: parsing pkg list...
|
||||
:: zls-bin-0.9.0-2 is up to date -- skipping build
|
||||
warning: zls-bin-0.9.0-2 is up to date -- reinstalling
|
||||
loading packages...
|
||||
resolving dependencies...
|
||||
looking for conflicting packages...
|
||||
|
||||
Package (1) Old Version New Version Net Change
|
||||
|
||||
zls-bin 0.9.0-2 0.9.0-2 0,00 MiB
|
||||
|
||||
Total Installed Size: 1,16 MiB
|
||||
Net Upgrade Size: 0,00 MiB
|
||||
|
||||
:: Proceed with installation? [Y/n]
|
||||
checking keyring...
|
||||
checking package integrity...
|
||||
loading package files...
|
||||
checking for file conflicts...
|
||||
checking available disk space...
|
||||
:: Processing package changes...
|
||||
reinstalling zls-bin...
|
||||
Consider re-running 'zls config' to reconfigure the language server
|
||||
|
||||
Some options may have changed when upgrading from 0.9.0-2 -> 0.9.0-2
|
||||
|
||||
Make sure to backup your old configuration!
|
||||
:: Running post-transaction hooks...
|
||||
(1/2) Arming ConditionNeedsUpdate...
|
||||
(2/2) Refreshing PackageKit...
|
||||
#+end_src
|
||||
|
||||
** Visual Configuration
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: Packages-Configuration-Visual-Configurationxr86fl6184j0
|
||||
|
Loading…
Reference in New Issue
Block a user