Fix the activation issue on cubes and add few new cubes
This commit is contained in:
parent
dfed2fd5f7
commit
9fd18ecf9c
|
@ -19,6 +19,7 @@ which each of the has different external dependencies. To gain more information
|
||||||
dependencies ( If we failed to tell you inside the **FG42** ) just run the `describe-extension`
|
dependencies ( If we failed to tell you inside the **FG42** ) just run the `describe-extension`
|
||||||
command.
|
command.
|
||||||
|
|
||||||
|
* aspell
|
||||||
## Install a pre built package
|
## Install a pre built package
|
||||||
|
|
||||||
Download one of the prebuilt packages and follow these instructions:
|
Download one of the prebuilt packages and follow these instructions:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*-
|
;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*-
|
||||||
;;
|
;;
|
||||||
;; Copyright (c) 2010-2021 Sameer Rahmani <lxsameer@gnu.org>
|
;; Copyright (c) 2010-2020 Sameer Rahmani <lxsameer@gnu.org>
|
||||||
;;
|
;;
|
||||||
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
||||||
;; URL: https://gitlab.com/FG42/FG42
|
;; URL: https://gitlab.com/FG42/FG42
|
||||||
|
@ -22,17 +22,121 @@
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
(setq debug-on-error t)
|
(setq debug-on-error t)
|
||||||
(require 'fg42/cube)
|
|
||||||
|
(require 'fg42/flags)
|
||||||
|
(require 'cubes/editor)
|
||||||
(require 'cubes/elisp)
|
(require 'cubes/elisp)
|
||||||
(require 'cubes/org)
|
(require 'cubes/region-expansion)
|
||||||
|
(require 'cubes/wm)
|
||||||
(defsystem default-system ()
|
(require 'cubes/modeline)
|
||||||
(fg42/elisp-cube)
|
(require 'cubes/autocompletion)
|
||||||
(fg42/org-cube))
|
(require 'cubes/golang)
|
||||||
|
(require 'cubes/project)
|
||||||
|
(require 'cubes/irc)
|
||||||
|
(require 'cubes/terminal)
|
||||||
|
|
||||||
|
|
||||||
(fg42/start! (default-system))
|
;; ============== MY STUFF ==============================
|
||||||
|
(custom-set-faces
|
||||||
|
'(mini-modeline-mode-line
|
||||||
|
((((background light))
|
||||||
|
:background "#aa0000" :height 0.1 :box nil)
|
||||||
|
(t
|
||||||
|
:background "#bd93f9" :height 0.1 :box nil))))
|
||||||
|
|
||||||
|
(defvar global-font-size 10)
|
||||||
|
|
||||||
|
|
||||||
|
(setq lsp-clients-clangd-executable "~/usr/lib/llvm-13/bin/clangd")
|
||||||
|
(defconst LLVM_DIR "/home/lxsameer/src/serene/llvm-project")
|
||||||
|
(defconst llvm-config-dir (concat LLVM_DIR "/llvm/utils/emacs/"))
|
||||||
|
|
||||||
|
(add-hook 'c++-mode-hook (lambda ()
|
||||||
|
(load (concat llvm-config-dir "emacs.el"))
|
||||||
|
(load (concat llvm-config-dir "llvm-mode.el"))
|
||||||
|
(load (concat llvm-config-dir "tablegen-mode.el"))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;; =========== FG42 stuff ===============================
|
||||||
|
;; (use-flags wm font-icons cursor-type
|
||||||
|
;; exec-path-from-shell golang
|
||||||
|
;; rcirc pinentry vterm
|
||||||
|
;; company lsp flycheck smart-mode-line wm fg42/region-expansion-cube
|
||||||
|
;; selectrum window-navigation buffer-navigation font-icons)
|
||||||
|
|
||||||
|
(use-flags
|
||||||
|
(fg42/merge-with-default-flags
|
||||||
|
wm
|
||||||
|
golang
|
||||||
|
rcirc
|
||||||
|
vterm
|
||||||
|
company
|
||||||
|
lsp
|
||||||
|
flycheck
|
||||||
|
fg42/region-expansion-cube))
|
||||||
|
|
||||||
|
;; ================== my stuff mixed with FG42 stuff ===================
|
||||||
|
(when-wm
|
||||||
|
(setq global-font-size 8)
|
||||||
|
(custom-set-faces
|
||||||
|
'(mini-modeline-mode-line
|
||||||
|
((((background light))
|
||||||
|
:background "#aa0000" :height 0.1 :box nil)
|
||||||
|
(t
|
||||||
|
:background "#6272a4" :height 0.1 :box nil))))
|
||||||
|
(fg42/wm-cube :number-of-workspaces 9)
|
||||||
|
|
||||||
|
(use-flags
|
||||||
|
(fg42/merge-with-default-flags
|
||||||
|
wm
|
||||||
|
-golang
|
||||||
|
rcirc
|
||||||
|
vterm
|
||||||
|
-company
|
||||||
|
-projectile
|
||||||
|
-lsp
|
||||||
|
-flycheck
|
||||||
|
fg42/region-expansion-cube)))
|
||||||
|
|
||||||
|
;; =========== FG42 stuff ===============================
|
||||||
|
|
||||||
|
;; Both are part of the editor cube but we want to override
|
||||||
|
;; their behavior
|
||||||
|
|
||||||
|
(fg42/modeline-cube)
|
||||||
|
(fg42/cursor-cube :type 'bar :color "#bd93f9")
|
||||||
|
(fg42/font-cube :font-size global-font-size)
|
||||||
|
(fg42/editor-cube)
|
||||||
|
|
||||||
|
(fg42/elisp-cube)
|
||||||
|
(fg42/region-expansion-cube)
|
||||||
|
|
||||||
|
(fg42/company-cube)
|
||||||
|
(fg42/lsp-cube)
|
||||||
|
(fg42/c++-cube)
|
||||||
|
(fg42/yaml-cube)
|
||||||
|
(fg42/flycheck-cube)
|
||||||
|
|
||||||
|
(fg42/golang-cube)
|
||||||
|
(fg42/projectile-cube)
|
||||||
|
(fg42/rcirc-cube :server '(("irc.freenode.net" :channels ("#fg42" "#5hit" "#serene-lang" "#technotux") :nick "lxsameer")
|
||||||
|
("irc.oftc.net" :channels ("#llvm") :nick "lxsameer")))
|
||||||
|
|
||||||
|
(fg42/vterm-cube)
|
||||||
|
|
||||||
|
;; Themes should be the last cube and anything that wants to manipulate a face
|
||||||
|
;; has to use either `fg42/before-initializing-theme-hook' or
|
||||||
|
;; `fg42/after-initializing-theme-hook' hooks.
|
||||||
|
(fg42/dracula-theme-cube)
|
||||||
|
|
||||||
|
;;(global-set-key (kbd "C-t") 'forward-char)
|
||||||
|
;;(g lobal-set-key (kbd "C-n") 'backward-char)
|
||||||
|
;;(global-set-key (kbd "M-n") 'backward-word)
|
||||||
|
;;(global-set-key (kbd "M-t") 'forward-word)
|
||||||
|
;;(global-set-key (kbd "C-,") 'previous-line)
|
||||||
|
;;(global-set-key (kbd "C-.") 'next-line)
|
||||||
|
|
||||||
(provide '.fg42)
|
(provide '.fg42)
|
||||||
;;; .fg42.v3.el ends here
|
;;; .fg42.v3.el ends here
|
||||||
|
|
|
@ -78,9 +78,7 @@
|
||||||
;; Use Company for completion
|
;; Use Company for completion
|
||||||
(bind-key [remap completion-at-point] #'company-complete company-mode-map)
|
(bind-key [remap completion-at-point] #'company-complete company-mode-map)
|
||||||
|
|
||||||
(setq company-tooltip-align-annotations t
|
(setq company-tooltip-align-annotations t)
|
||||||
;; Easy navigation to candidates with M-<n>
|
|
||||||
company-show-numbers t)
|
|
||||||
(setq company-dabbrev-downcase nil)))
|
(setq company-dabbrev-downcase nil)))
|
||||||
|
|
||||||
;; TODO: Move company box to a new cube
|
;; TODO: Move company box to a new cube
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
;;; FMCubes --- The file manager cubes for FG42 -*- lexical-binding: t; -*-
|
||||||
|
;;
|
||||||
|
;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors
|
||||||
|
;;
|
||||||
|
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
||||||
|
;; URL: https://gitlab.com/FG42/FG42
|
||||||
|
;; Version: 3.0.0
|
||||||
|
;;
|
||||||
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
|
;; it under the terms of the GNU General Public License as published by
|
||||||
|
;; the Free Software Foundation, either version 3 of the License, or
|
||||||
|
;; (at your option) any later version.
|
||||||
|
;;
|
||||||
|
;; This program is distributed in the hope that it will be useful,
|
||||||
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;; GNU General Public License for more details.
|
||||||
|
;;
|
||||||
|
;; You should have received a copy of the GNU General Public License
|
||||||
|
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
;;
|
||||||
|
;;; Commentary:
|
||||||
|
;;; Code:
|
||||||
|
(require 'fpkg)
|
||||||
|
(require 'fg42/cube)
|
||||||
|
|
||||||
|
|
||||||
|
;; TODO: Move this to an autoload file
|
||||||
|
(defun fg42/dired-external-open ()
|
||||||
|
"In dired, open the file named on this line."
|
||||||
|
(interactive)
|
||||||
|
(let ((file (dired-get-filename nil t)))
|
||||||
|
(call-process "xdg-open" nil 0 nil file)))
|
||||||
|
|
||||||
|
|
||||||
|
(defcube fg42/fm-cube
|
||||||
|
(:docs "cubes/fg42/fm-cube.org"
|
||||||
|
:flag fm
|
||||||
|
:flag-default t)
|
||||||
|
|
||||||
|
;; Linux only
|
||||||
|
;; TODO: change this to support OS X
|
||||||
|
(setq dired-listing-switches "-lFaGh1v --group-directories-first")
|
||||||
|
|
||||||
|
;; Show directories first
|
||||||
|
(setq ls-lisp-dirs-first t)
|
||||||
|
|
||||||
|
(setq dired-recursive-copies 'always)
|
||||||
|
(setq dired-recursive-deletes 'always)
|
||||||
|
|
||||||
|
(define-key dired-mode-map (kbd "E") 'fg42/dired-external-open)
|
||||||
|
(fpkg/use dired+)
|
||||||
|
(add-to-list 'dired-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(require 'dired-x)
|
||||||
|
(require 'dired-aux)))
|
||||||
|
|
||||||
|
(when-flag async
|
||||||
|
(dired-async-mode 1))
|
||||||
|
|
||||||
|
(fpkg/use dired-narrow
|
||||||
|
:bind (:map dired-mode-map
|
||||||
|
("/" . dired-narrow))))
|
||||||
|
|
||||||
|
|
||||||
|
(provide 'cubes/fm)
|
||||||
|
;;; fm.el ends here
|
|
@ -0,0 +1,28 @@
|
||||||
|
;;; KeyboardCubes --- The keyboard related cubes for FG42 -*- lexical-binding: t; -*-
|
||||||
|
;;
|
||||||
|
;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors
|
||||||
|
;;
|
||||||
|
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
||||||
|
;; URL: https://gitlab.com/FG42/FG42
|
||||||
|
;; Version: 3.0.0
|
||||||
|
;;
|
||||||
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
|
;; it under the terms of the GNU General Public License as published by
|
||||||
|
;; the Free Software Foundation, either version 3 of the License, or
|
||||||
|
;; (at your option) any later version.
|
||||||
|
;;
|
||||||
|
;; This program is distributed in the hope that it will be useful,
|
||||||
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;; GNU General Public License for more details.
|
||||||
|
;;
|
||||||
|
;; You should have received a copy of the GNU General Public License
|
||||||
|
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
;;
|
||||||
|
;;; Commentary:
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
;; TODO: Add support for HALMAK layout
|
||||||
|
|
||||||
|
(provide 'cubes/keyboard)
|
||||||
|
;;; keyboard.el ends here
|
|
@ -84,6 +84,7 @@
|
||||||
;; Here are a few examples:
|
;; Here are a few examples:
|
||||||
(setq exwm-input-global-keys
|
(setq exwm-input-global-keys
|
||||||
`(
|
`(
|
||||||
|
|
||||||
;; Bind "s-r" to exit char-mode and fullscreen mode.
|
;; Bind "s-r" to exit char-mode and fullscreen mode.
|
||||||
([?\s-r] . exwm-reset)
|
([?\s-r] . exwm-reset)
|
||||||
([?\s-g] . keyboard-quit)
|
([?\s-g] . keyboard-quit)
|
||||||
|
|
|
@ -105,7 +105,8 @@
|
||||||
|
|
||||||
;; This way we can bypass the flag system if we really really want to.
|
;; This way we can bypass the flag system if we really really want to.
|
||||||
(defun ,cube-name-internal (params)
|
(defun ,cube-name-internal (params)
|
||||||
(if (not (boundp (quote ,active-var)))
|
(if (or (not (boundp (quote ,active-var)))
|
||||||
|
(not ,active-var))
|
||||||
(progn
|
(progn
|
||||||
;; Mark this cube as active
|
;; Mark this cube as active
|
||||||
(setq ,active-var t)
|
(setq ,active-var t)
|
||||||
|
|
Loading…
Reference in New Issue