(package-initialize)
(defalias 'make-local-hook 'ignore)
(add-to-list 'load-path (expand-file-name "~/.emacs.d") t)
(load "/usr/share/emacs/site-lisp/site-gentoo")
(custom-set-variables
'(ack-command "ack --nopager ")
'(auth-source-save-behavior nil)
'(auto-coding-alist
'(("\\.\\(arc\\|zip\\|lzh\\|zoo\\|jar\\|tar\\|tgz\\)\\'" . no-conversion)
("\\.\\(gz\\|Z\\|bz\\|bz2\\|gpg\\)\\'" . no-conversion)
("^/home/dakkar/.claws-mail/tmp" . utf-8)))
'(browse-url-browser-function 'browse-url-generic)
'(browse-url-generic-program "/usr/bin/firefox")
'(browse-url-lynx-input-attempts 10 t)
'(browse-url-netscape-program "/usr/bin/firefox")
'(c-cleanup-list
'(brace-else-brace brace-elseif-brace brace-catch-brace empty-defun-braces scope-operator))
'(c-echo-syntactic-information-p t)
'(c-tab-always-indent nil)
'(calendar-week-start-day 1)
'(case-fold-search t)
'(column-number-mode t)
'(confluence-default-space-alist
'(("https://confluence.nap/rpc/xmlrpc" . "TA")
("https://confluence.nap/rpc/xmlrpc" . "BAK")))
'(confluence-url "https://confluence.nap/rpc/xmlrpc")
'(cperl-close-paren-offset -4)
'(cperl-continued-statement-offset 4)
'(cperl-electric-parens nil)
'(cperl-font-lock t)
'(cperl-indent-level 4)
'(cperl-indent-parens-as-block t)
'(cperl-merge-trailing-else nil)
'(cperl-under-as-char nil)
'(current-language-environment "English")
'(default-frame-alist
'((tool-bar-lines . 0)
(width . 80)
(height . 25)
(right-fringe)
(left-fringe)
(fullscreen . fullheight)
(font . "DejaVuSansM Nerd Font Mono")))
'(desktop-load-locked-desktop t)
'(desktop-save t)
'(desktop-save-mode t)
'(diary-date-forms
'((month "/" day "[^/0-9]")
(month "/" day "/" year "[^0-9]")
(monthname " *" day "[^,0-9]")
(monthname " *" day ", *" year "[^0-9]")
(dayname "\\W")
(year "-" month "-" day "[^0-9]")))
'(ecb-cedet-url "http://belnet.dl.sourceforge.net/sourceforge/ecb/")
'(ecb-download-url "http://belnet.dl.sourceforge.net/sourceforge/ecb/")
'(ecb-options-version "2.27")
'(electric-pair-mode nil)
'(emacs-wiki-charset-default "utf-8")
'(emacs-wiki-coding-default 'utf-8)
'(emacs-wiki-grep-command
"find %D -type f ! -name '*~' | xargs grep -E -n -e \"\\<%W\\>\"")
'(emacs-wiki-mode-hook
'(emacs-wiki-use-font-lock footnote-mode highlight-changes-mode))
'(enable-local-variables t)
'(espresso-indent-level 2)
'(file-coding-system-alist
'(("\\.po\\'\\|\\.po\\." . po-find-file-coding-system)
("\\.dz\\'" no-conversion . no-conversion)
("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion)
("\\.tgz\\'" no-conversion . no-conversion)
("\\.tbz\\'" no-conversion . no-conversion)
("\\.bz2\\'" no-conversion . no-conversion)
("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion)
("\\.elc\\'" emacs-mule . emacs-mule)
("\\.utf\\(-8\\)?\\'" . utf-8)
("\\(\\`\\|/\\)loaddefs.el\\'" raw-text . raw-text-unix)
("\\.tar\\'" no-conversion . no-conversion)
("\\.po[tx]?\\'\\|\\.po\\." . po-find-file-coding-system)
("\\.\\(tex\\|ltx\\|dtx\\|drv\\)\\'" . latexenc-find-file-coding-system)
("" undecided . utf-8)))
'(file-name-coding-system 'utf-8 t)
'(flymake-allowed-file-name-masks
'(("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'" flymake-simple-make-init nil nil)
("\\.xml\\'" flymake-xml-init nil nil)
("\\.html?\\'" flymake-xml-init nil nil)
("\\.cs\\'" flymake-simple-make-init nil nil)
("\\.p[ml]\\'" flymake-perl-init nil nil)
("\\.php[345]?\\'" flymake-php-init nil nil)
("\\.h\\'" flymake-master-make-header-init flymake-master-cleanup nil)
("\\.java\\'" flymake-simple-make-java-init flymake-simple-java-cleanup nil)
("[0-9]+\\.tex\\'" flymake-master-tex-init flymake-master-cleanup nil)
("\\.tex\\'" flymake-simple-tex-init nil nil)
("\\.idl\\'" flymake-simple-make-init nil nil)
("\\.ino\\'" flymake-simple-make-init nil nil)))
'(flymake-log-level 0)
'(flymake-master-file-dirs '("." "./src" "./lib" "./t/lib"))
'(flymake-proc-allowed-file-name-masks
'(("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'" flymake-simple-make-init nil nil)
("\\.xml\\'" flymake-xml-init nil nil)
("\\.html?\\'" flymake-xml-init nil nil)
("\\.cs\\'" flymake-simple-make-init nil nil)
("\\.p[ml]\\'" flymake-perl-init nil nil)
("\\.php[345]?\\'" flymake-php-init nil nil)
("\\.h\\'" flymake-master-make-header-init flymake-master-cleanup nil)
("\\.java\\'" flymake-simple-make-java-init flymake-simple-java-cleanup nil)
("[0-9]+\\.tex\\'" flymake-master-tex-init flymake-master-cleanup nil)
("\\.tex\\'" flymake-simple-tex-init nil nil)
("\\.idl\\'" flymake-simple-make-init nil nil)
("\\.ino\\'" flymake-simple-make-init nil nil)))
'(flymake-proc-master-file-dirs '("." "./src" "./lib" "./t/lib"))
'(footnote-section-tag-regexp "Notes?\\(\\[.\\]\\)?: ")
'(footnote-spaced-footnotes nil)
'(git-link-commit-remote-alist
'(("git.sr.ht" git-link-commit-github)
("codeberg.org" git-link-commit-codeberg)
("github" git-link-commit-github)
("bitbucket" git-link-commit-bitbucket)
("gitorious" git-link-commit-gitorious)
("gitlab" git-link-commit-gitlab)
("git\\.\\(sv\\|savannah\\)\\.gnu\\.org" git-link-commit-savannah)
("googlesource.com" git-link-commit-googlesource)
("visualstudio\\|azure" git-link-commit-azure)
("sourcegraph" git-link-commit-sourcegraph)
("\\(amazonaws\\|amazon\\)\\.com" git-link-commit-codecommit)
("activitypub.software" git-link-commit-gitlab)))
'(git-link-remote-alist
'(("git.sr.ht" git-link-sourcehut)
("codeberg.org" git-link-codeberg)
("github" git-link-github)
("bitbucket" git-link-bitbucket)
("gitorious" git-link-gitorious)
("gitlab" git-link-gitlab)
("git\\.\\(sv\\|savannah\\)\\.gnu\\.org" git-link-savannah)
("googlesource.com" git-link-googlesource)
("visualstudio\\|azure" git-link-azure)
("sourcegraph" git-link-sourcegraph)
("\\(amazonaws\\|amazon\\)\\.com" git-link-codecommit)
("activitypub.software" git-link-gitlab)))
'(global-font-lock-mode t nil (font-lock))
'(gnus-default-charset 'iso-8859-15)
'(gnus-default-posting-charset 'iso-8859-15)
'(gnus-group-charset-alist
'(("^hk\\>\\|^tw\\>\\|\\<big5\\>" cn-big5)
("^cn\\>\\|\\<chinese\\>" cn-gb-2312)
("^fj\\>\\|^japan\\>" iso-2022-jp-2)
("^tnn\\>\\|^pin\\>\\|^sci.lang.japan" iso-2022-7bit)
("^relcom\\>" koi8-r)
("^fido7\\>" koi8-r)
("^\\(cz\\|hun\\|pl\\|sk\\|hr\\)\\>" iso-8859-2)
("^israel\\>" iso-8859-15)
("^han\\>" euc-kr)
("^alt.chinese.text.big5\\>" chinese-big5)
("^soc.culture.vietnamese\\>" vietnamese-viqr)
("^\\(comp\\|rec\\|alt\\|sci\\|soc\\|news\\|gnu\\|bofh\\)\\>" iso-8859-15)
(".*" iso-8859-15)))
'(gnus-group-posting-charset-alist
'(("^\\(no\\|fr\\)\\.[^,]*\\(,[
]*\\(no\\|fr\\)\\.[^,]*\\)*$" iso-8859-15
(iso-8859-15))
("^\\(fido7\\|relcom\\)\\.[^,]*\\(,[
]*\\(fido7\\|relcom\\)\\.[^,]*\\)*$" koi8-r
(koi8-r))
(message-this-is-mail nil nil)
(message-this-is-news nil t)))
'(gnus-ignored-headers
'("^Path:" "^Expires:" "^Date-Received:" "^References:" "^Xref:" "^Lines:" "^Relay-Version:" "^Message-ID:" "^Approved:" "^Sender:" "^Received:" "^X-UIDL:" "^MIME-Version:" "^Return-Path:" "^In-Reply-To:" "^Content-Transfer-Encoding:" "^X-WebTV-Signature:" "^X-MimeOLE:" "^X-MSMail-Priority:" "^X-Priority:" "^X-Loop:" "^X-Authentication-Warning:" "^X-MIME-Autoconverted:" "^X-Face:" "^X-Attribution:" "^X-Originating-IP:" "^Delivered-To:" "^NNTP-[-A-Za-z]+:" "^Distribution:" "^X-no-archive:" "^X-Trace:" "^X-Complaints-To:" "^X-NNTP-Posting-Host:" "^X-Orig.*:" "^Abuse-Reports-To:" "^Cache-Post-Path:" "^X-Article-Creation-Date:" "^X-Poster:" "^X-Mail2News-Path:" "^X-Server-Date:" "^X-Cache:" "^Originator:" "^X-Problems-To:" "^X-Auth-User:" "^X-Post-Time:" "^X-Admin:" "^X-UID:" "^Resent-[-A-Za-z]+:" "^X-Mailing-List:" "^Precedence:" "^Original-[-A-Za-z]+:" "^X-filename:" "^X-Orcpt:" "^Old-Received:" "^X-Pgp" "^X-Auth:" "^X-From-Line:" "^X-Gnus-Article-Number:" "^X-Majordomo:" "^X-Url:" "^X-Sender:" "^MBOX-Line" "^Priority:" "^X-Pgp" "^X400-[-A-Za-z]+:" "^Status:" "^X-Gnus-Mail-Source:" "^Cancel-Lock:" "^X-FTN" "^X-EXP32-SerialNo:" "^Encoding:" "^Importance:" "^Autoforwarded:" "^Original-Encoded-Information-Types:" "^X-Ya-Pop3:" "^X-Face-Version:" "^X-Vms-To:" "^X-ML-NAME:" "^X-ML-COUNT:" "^Mailing-List:" "^X-finfo:" "^X-md5sum:" "^X-md5sum-Origin:" "^X-Sun-Charset:" "^X-Accept-Language:" "^X-Envelope-Sender:" "^List-[A-Za-z]+:" "^X-Listprocessor-Version:" "^X-Received:" "^X-Distribute:" "^X-Sequence:" "^X-Juno-Line-Breaks:" "^X-Notes-Item:" "^X-MS-TNEF-Correlator:" "^x-uunet-gateway:" "^X-Received:" "^Content-length:" "X-precedence:"))
'(gnus-large-newsgroup 2000)
'(gnus-select-method '(nntp "news.ngi.it"))
'(hi-lock-auto-select-face t)
'(hi-lock-file-patterns-policy '(lambda (x) t))
'(icomplete-mode t nil (icomplete))
'(iedit-toggle-key-default (kbd "M-C-;"))
'(indent-tabs-mode nil)
'(js-indent-level 2)
'(ledger-clear-whole-transactions t)
'(ledger-reconcile-default-commodity "GBP")
'(ledger-reconcile-default-date-format "%Y-%m-%d")
'(ledger-use-iso-dates t)
'(lpr-command "gtklp")
'(lpr-switches nil)
'(lsp-clients-clangd-executable "clangd")
'(lsp-keymap-prefix "M-S-l")
'(lsp-prefer-flymake nil)
'(lsp-toml-command "/home/dakkar/.cargo/bin/taplo")
'(lsp-ui-sideline-show-code-actions t)
'(magit-default-tracking-name-function 'magit-default-tracking-name-branch-only)
'(magit-diff-refine-hunk 'all)
'(markdown-command "markdown_py")
'(menu-bar-mode nil)
'(message-signature-file "~/.signature/news.sig")
'(message-signature-separator "^-- [ ]*$")
'(message-subject-re-regexp "^[ ]*\\([Rr][Ee]?:[ ]*\\)*[ ]*")
'(mouse-wheel-follow-mouse t)
'(mouse-yank-at-point t)
'(msb-mode t nil (msb))
'(next-line-add-newlines nil)
'(nxml-auto-insert-xml-declaration-flag t)
'(nxml-char-ref-display-glyph-flag nil)
'(nxml-child-indent 1)
'(nxml-default-buffer-file-coding-system 'utf-8)
'(nxml-slash-auto-complete-flag t)
'(package-archives
'(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")))
'(package-selected-packages
'(dockerfile-mode editorconfig git-link compat crdt go-mode lua-mode nginx-mode groovy-mode scss-mode iedit ng2-mode ansible-vault ascii-art-to-unicode magit-gitflow yaml-mode enh-ruby-mode puppet-mode indium coffee-mode vagrant-tramp wgrep wgrep-ack web-mode unicode-fonts plantuml-mode perl6-mode markdown-mode magit-svn ledger-mode json-mode auto-complete ack lsp-mode lsp-ui))
'(pov-external-viewer-command "display")
'(pov-help-file "povuser.txt")
'(puppet-indent-level 4)
'(reftex-extra-bindings nil)
'(reftex-label-alist '(AMSTeX))
'(rst-adornment-faces-alist
'((1 . rst-level-1-face)
(2 . rst-level-2-face)
(3 . rst-level-3-face)
(4 . rst-level-4-face)
(5 . rst-level-5-face)
(6 . rst-level-6-face)
(t . font-lock-keyword-face)
(nil . font-lock-keyword-face)))
'(rst-directive-face 'font-lock-constant-face)
'(rst-mode-lazy nil)
'(ruby-deep-indent-paren nil)
'(safe-local-variable-values '((cperl-brace-imaginary-offset . 0)))
'(select-enable-primary t)
'(sendmail-coding-system nil t)
'(server-host nil)
'(server-kill-new-buffers t)
'(server-port nil)
'(server-raise-frame nil)
'(server-temp-file-regexp
"^/home/dakkar/\\.claws-mail/tmp\\|/tmp/\\(Re\\|mutt\\)\\|/draft$")
'(server-use-tcp nil)
'(sgml-balanced-tag-edit t t)
'(sgml-catalog-files
'("catalog" "/usr/local/lib/sgml/catalog" "/home/dakkar/.emacs-lisp/catalog") t)
'(sgml-indent-data t t)
'(sgml-indent-step 1 t)
'(sgml-insert-end-tag-on-new-line t t)
'(sgml-live-element-indicator t t)
'(sgml-local-catalogs nil t)
'(sgml-markup-faces
'((start-tag . font-lock-builtin-face)
(end-tag . font-lock-builtin-face)
(comment . font-lock-comment-face)
(pi . bold)
(sgml . bold)
(doctype . bold)
(entity . italic)
(shortref . bold)) t)
'(sgml-name-8bit-mode nil)
'(sgml-set-face t t)
'(sgml-slash-distance nil)
'(smiley-regexp-alist nil)
'(speedbar-show-unknown-files nil)
'(speedbar-supported-extension-expressions
'(".[ch]\\(\\+\\+\\|pp\\|c\\|h\\|xx\\)?" ".tex\\(i\\(nfo\\)?\\)?" ".el" ".emacs" ".l" ".lsp" ".p" ".java" ".f\\(90\\|77\\|or\\)?" ".ada" ".pl" ".tcl" ".m" ".scm" ".pm" ".py" ".s?html" "Makefile\\(\\.in\\)?" ".x[ms]l"))
'(strokes-use-strokes-buffer nil)
'(tex-default-mode 'latex-mode)
'(tex-dvi-view-command "xdvi")
'(tool-bar-mode nil nil (tool-bar))
'(tooltip-delay 1.5)
'(tooltip-short-delay 0.2)
'(tramp-default-proxies-alist nil)
'(tramp-use-ssh-controlmaster-options 'suppress)
'(truncate-partial-width-windows nil)
'(uniquify-buffer-name-style 'forward nil (uniquify))
'(url-be-asynchronous t)
'(url-external-retrieval-args nil)
'(url-external-retrieval-program "wget")
'(w3-display-frames t)
'(w3-do-incremental-display t)
'(w3-use-terminal-characters nil)
'(w3-user-colors-take-precedence t)
'(web-mode-attr-indent-offset nil)
'(web-mode-code-indent-offset 4)
'(web-mode-css-indent-offset 2)
'(web-mode-enable-auto-indentation nil)
'(web-mode-indent-style 1)
'(web-mode-markup-indent-offset 2)
'(web-mode-script-padding 0)
'(which-func-mode-global t nil (which-func))
'(widget-use-overlay-change t t)
'(x-stretch-cursor t))
(custom-set-faces
'(cperl-array-face ((((class color) (background dark)) (:bold t :foreground "yellow"))))
'(cperl-hash-face ((((class color) (background dark)) (:bold t :italic t :foreground "green"))))
'(font-lock-builtin-face ((((class color) (background dark)) (:foreground "LightGreen"))))
'(font-lock-comment-face ((((class color) (background dark)) (:italic t :foreground "Gray"))))
'(message-cited-text-face ((((class color) (background dark)) (:box (:line-width 1 :color "grey75" :style pressed-button) :slant italic))) t)
'(message-header-cc-face ((t (:foreground "green3" :weight bold))) t)
'(message-header-name-face ((((class color) (background dark)) (:foreground "#00f0ff" :weight bold))) t)
'(message-header-newsgroups-face ((t (:foreground "yellow3" :slant italic :weight bold))) t)
'(message-header-other-face ((((class color) (background dark)) (:foreground "#b0b000"))) t)
'(message-mml-face ((((class color) (background dark)) (:foreground "#00f00f"))) t)
'(nxml-attribute-colon-face ((t (:inherit nxml-element-colon-face))))
'(nxml-attribute-prefix-face ((t (:inherit nxml-element-prefix-face))))
'(nxml-comment-content-face ((t (:foreground "darkgray" :slant italic))))
'(nxml-delimited-data-face ((t (:foreground "#f0a040"))))
'(nxml-element-colon-face ((t (:inherit nxml-name-face :weight light))))
'(nxml-element-prefix-face ((t (:inherit nxml-name-face :underline t))))
'(nxml-name-face ((t (:foreground "#00dAa5"))))
'(nxml-namespace-attribute-colon-face ((t (:inherit nxml-attribute-colon-face))))
'(nxml-namespace-attribute-prefix-face ((t (:inherit nxml-attribute-prefix-face))))
'(nxml-namespace-attribute-xmlns-face ((t (:inherit nxml-name-face :foreground "blue"))))
'(nxml-ref-face ((t (:foreground "#b2b2e9"))))
'(rst-level-1-face ((t (:background "grey85" :foreground "black"))) t)
'(rst-level-2-face ((t (:background "grey78" :foreground "gray15"))) t)
'(rst-level-3-face ((t (:background "grey71" :foreground "gray25"))) t)
'(rst-level-4-face ((t (:background "grey64" :foreground "gray35"))) t)
'(rst-level-5-face ((t (:background "grey57" :foreground "gray70"))) t)
'(rst-level-6-face ((t (:background "grey50" :foreground "gray90"))) t))
(defun autoformat-region ()
"Runs perl Text::Autoformat on region, replacing it with the output"
(interactive)
(shell-command-on-region (region-beginning) (region-end)
"perl -MText::Autoformat -e 'autoformat {all=>1}'"
"" ""
shell-command-default-error-buffer)
)
(setq frame-title-format "%b")
(add-to-list 'auto-mode-alist '("\\.re?st\\.tx?t\\'" . rst-mode))
(add-hook 'rst-mode-hook (lambda ()
(progn
(auto-fill-mode 1)
(flyspell-mode)
)))
(add-hook 'rst-adjust-hook 'rst-toc-insert-update)
(add-hook 'flyspell-mode-hook (lambda ()
(let ((filename (buffer-file-name)))
(when (and filename
(string-match "\\.\\(it\\|en\\)\\..*\\.\\(txt\\|tt\\)$" filename))
(ispell-change-dictionary (match-string 1 filename))))))
(set-variable 'find-file-hooks (cons
(lambda ()
(if (or
(string-match "^/home/dakkar/\\.claws-mail/tmp" buffer-file-name)
(string-match "^/home/dakkar/\\.mozilla/firefox/.*/italltext/" buffer-file-name)
)
(progn
(rst-mode)
)
))
find-file-hooks))
(defalias 'perl-mode 'cperl-mode)
(add-to-list 'auto-mode-alist '("\\.t$" . perl-mode))
(add-to-list 'auto-mode-alist '("\\.rakumod\\'" . perl6-mode))
(add-to-list 'auto-mode-alist '("\\.raku\\'" . perl6-mode))
(add-to-list 'interpreter-mode-alist '("raku" . perl6-mode))
(autoload 'arduino-mode "arduino-mode" "mode to edit arduino sketches" t)
(add-to-list 'auto-mode-alist '("\\.pde\\'" . arduino-mode))
(add-to-list 'auto-mode-alist '("\\.ino\\'" . arduino-mode))
(add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode))
(add-hook 'markdown-mode-hook (lambda ()
(progn
(auto-fill-mode 1)
(flyspell-mode)
)))
(add-hook 'latex-mode-hook 'turn-on-reftex)
(autoload 'pov-mode "pov-mode" "Major mode to edit POV-Ray files." t )
(add-to-list 'auto-mode-alist '("\\.pov$" . pov-mode))
(add-to-list 'auto-mode-alist '("\\.inc$" . pov-mode))
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(add-hook 'haskell-mode-hook 'imenu-add-menubar-index)
(setq mark-holidays-in-calendar t)
(add-hook 'today-visible-calendar-hook 'calendar-mark-today)
(setq mark-diary-entries-in-calendar t)
(setq calendar-date-display-form '(year "-" month "-" day))
(setq calendar-time-display-form '(24-hours ":" minutes
(if time-zone " (") time-zone (if time-zone ")")))
(global-set-key [f13] 'universal-argument)
(global-set-key [f14] (lambda () (interactive) (ispell-change-dictionary "italiano")))
(global-set-key [f15] (lambda () (interactive) (ispell-change-dictionary "en_GB")))
(global-set-key [XF86Launch6] (lambda () (interactive) (ispell-change-dictionary "en_GB")))
(global-set-key (kbd "M-ยง") 'magit-status)
(global-set-key (kbd "M-`") 'magit-status)
(global-set-key [XF86Tools] 'universal-argument)
(global-set-key [XF86Launch5] (lambda () (interactive) (ispell-change-dictionary "italiano")))
(global-set-key [XF86MenuKB] (lambda () (interactive) (ispell-change-dictionary "en_GB")))
(global-set-key [(meta control return)] 'find-file-at-point)
(global-set-key [f19] 'ack)
(add-hook 'after-init-hook 'unicode-fonts-setup)
(add-hook 'after-init-hook (lambda ()
(progn
(require 'magit-gitflow)
(add-hook 'magit-mode-hook 'turn-on-magit-gitflow))))
(add-to-list 'auto-mode-alist '("\\.tt$" . web-mode))
(require 'go2-tramp)
(require 'vagrant-tramp)
(defun dakkar-cache-vagrant (orig &rest args)
(let ((repo (pcache-repository "vagrant-tramp"))
(key 'all-boxes))
(if (pcache-has repo key)
(pcache-get repo key)
(let ((value (apply orig args)))
(pcache-put repo key value 300)
value))))
(advice-add 'vagrant-tramp--all-boxes :around #'dakkar-cache-vagrant)
(defun dakkar/perl-indent (beg end)
(interactive "r")
(if (use-region-p)
(cond ((get-text-property beg 'in-pod)
(let* (
(text (buffer-substring beg end))
(indented-text (with-temp-buffer
(insert text)
(cperl-mode)
(cperl-indent-region 0 (buffer-size))
(indent-rigidly 0 (buffer-size) cperl-indent-level)
(buffer-string))))
(delete-region beg end)
(insert indented-text)))
(t (cperl-indent-region beg end)))))
(defun dakkar/setup-cperl-mode ()
(setq indent-region-function 'dakkar/perl-indent)
(substitute-key-definition
'indent-region 'dakkar/perl-indent
cperl-mode-map global-map))
(add-hook 'cperl-mode-hook 'dakkar/setup-cperl-mode)
(add-to-list 'auto-mode-alist '("\\.ndjson\\'" . json-mode))
(require 'lsp-mode)
(add-hook 'go-mode-hook 'lsp-deferred)
(add-hook 'sh-mode-hook 'lsp-deferred)
(add-hook 'lsp-mode-hook (lambda()
(progn
(lsp-ui-mode)
(yas-minor-mode))))
(add-to-list 'auto-mode-alist '("\\.tt\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\'" . web-mode))