From 9031d2ef3492d20148d40ebf6255a3ff333ec422 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Tue, 4 May 2021 18:25:39 +0100 Subject: [PATCH] Add the projectile cube --- core/cubes/editor.el | 7 ++++++ core/cubes/project.el | 52 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 core/cubes/project.el diff --git a/core/cubes/editor.el b/core/cubes/editor.el index 9f9627a..df5d3cd 100644 --- a/core/cubes/editor.el +++ b/core/cubes/editor.el @@ -151,6 +151,13 @@ (menu-bar-mode -1) (column-number-mode t) (show-paren-mode t) + (electric-pair-mode 1) + + ;; Rectangular select + (cua-selection-mode t) + + ;; Yank the region on type + (delete-selection-mode 1) (defalias 'yes-or-no-p 'y-or-n-p) diff --git a/core/cubes/project.el b/core/cubes/project.el new file mode 100644 index 0000000..74edde3 --- /dev/null +++ b/core/cubes/project.el @@ -0,0 +1,52 @@ +;;; ProjectCubes --- The project management cubes for FG42 -*- lexical-binding: t; -*- +;; +;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors +;; +;; Author: Sameer Rahmani +;; 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 . +;; +;;; Commentary: +;;; Code: +(require 'fpkg) +(require 'fg42/cube) + + +(defcube fg42/projectile-cube + (:docs "cubes/fg42/projectile-cube.org" + :flag projectile) + + (let ((project-dirs (or (plist-get fg42/projectile-cube-params :project-dirs) + ()))) + (fpkg/use projectile + :init + (projectile-mode +1) + :config + (progn + ;; We don't want the auto discovery on startup + (setq projectile-auto-discover nil) + (setq projectile-enable-caching t) + (setq projectile-project-search-path project-dirs)) + :bind (:map projectile-mode-map + ("s-p" . projectile-command-map) + ("C-c p" . projectile-command-map))) + + (fpkg/use projectile-ripgrep + :after projectile))) + + +(provide 'cubes/project) +;;; project.el ends here