Skip to content

Instantly share code, notes, and snippets.

@mpenet
Last active April 5, 2023 19:05
Show Gist options
  • Select an option

  • Save mpenet/bdd591bd005f721b9abdc8953493cf24 to your computer and use it in GitHub Desktop.

Select an option

Save mpenet/bdd591bd005f721b9abdc8953493cf24 to your computer and use it in GitHub Desktop.

Revisions

  1. mpenet revised this gist Apr 5, 2023. No changes.
  2. mpenet renamed this gist Apr 5, 2023. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  3. mpenet created this gist Apr 5, 2023.
    2 changes: 2 additions & 0 deletions deps.edn
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2 @@
    {:paths ["src" "resources"]
    :deps {org.clojure/clojure {:mvn/version "1.12.0-alpha1"}}}
    85 changes: 85 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,85 @@
    (setq straight-use-package-by-default t
    straight-repository-branch "develop"
    straight-recipes-gnu-elpa-use-mirror t
    straight-built-in-pseudo-packages '(which-function-mode
    isearch
    dired
    ;; eglot
    project
    js-mode
    flymake
    uniquify
    inferior-lisp
    visual-line-mode))

    (defvar bootstrap-version)
    (let ((bootstrap-file
    (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
    (bootstrap-version 5))
    (unless (file-exists-p bootstrap-file)
    (with-current-buffer
    (url-retrieve-synchronously
    "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
    'silent 'inhibit-cookies)
    (goto-char (point-max))
    (eval-print-last-sexp)))
    (load bootstrap-file nil 'nomessage))

    (straight-use-package 'use-package)

    (use-package markdown-mode
    :mode (("\\.md\\'" . gfm-mode)
    ("\\.markdown\\'" . gfm-mode))
    :config
    (setq markdown-fontify-code-blocks-natively t)
    (add-to-list 'markdown-code-lang-modes '("clj" . clojure-mode)))

    (use-package corfu
    :straight (:files (:defaults "extensions/*"))
    :custom
    (corfu-popupinfo-delay '(0.5 . 0.3))
    (corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
    (corfu-auto t) ;; Enable auto completion
    (corfu-quit-at-boundary t) ;; Automatically quit at word boundary
    (corfu-quit-no-match t) ;; Automatically quit if there is no match
    (corfu-preselect-first nil) ;; Disable candidate preselection
    (corfu-scroll-margin 5) ;; Use scroll margin
    :hook ((corfu-mode . corfu-popupinfo-mode))
    :bind
    (:map corfu-map
    ("TAB" . corfu-next)
    ([tab] . corfu-next)
    ("<C-return>" . corfu-insert))
    :init
    (global-corfu-mode))

    (use-package cider
    :diminish
    :config
    (setq nrepl-log-messages t
    cider-eldoc-display-for-symbol-at-point nil
    cider-prompt-for-symbol nil
    cider-use-xref nil)

    ;; use lsp
    (add-hook 'cider-mode-hook (lambda () (remove-hook 'completion-at-point-functions #'cider-complete-at-point)))
    :bind (:map cider-mode-map
    ("C-c C-d" . cider-debug-defun-at-point)
    ("C-c d" . cider-debug-defun-at-point)))

    (use-package eglot
    :straight (eglot :source gnu-elpa-mirror)
    :ensure t
    :commands (eglot eglot-ensure)
    :custom-face (eglot-highlight-symbol-face ((t (:inherit 'highlight :background "#434C5E"))))
    :hook ((clojure-mode . eglot-ensure)
    (clojurec-mode . eglot-ensure)
    (clojurescript-mode . eglot-ensure)
    (before-save . eglot-format-buffer))

    :bind (:map eglot-mode-map
    ("M-l M-l" . eglot-code-actions))
    :config
    (setq eglot-autoshutdown t
    eglot-confirm-server-initiated-edits nil
    eglot-extend-to-xref t))
    7 changes: 7 additions & 0 deletions test.clj
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    (ns test)

    ;; try typing cond, it will show the error
    (con