From 45e20f95bfade3c9f10c5a46c850a97b1b9f8352 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Sun, 24 Mar 2024 23:05:07 +0000 Subject: [PATCH] Add support for system verilog to v4 --- lisp/fg42/editor.el | 10 ++++-- lisp/fg42/langs/verilog.el | 64 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 lisp/fg42/langs/verilog.el diff --git a/lisp/fg42/editor.el b/lisp/fg42/editor.el index 4e013cd..c966456 100644 --- a/lisp/fg42/editor.el +++ b/lisp/fg42/editor.el @@ -26,12 +26,13 @@ (require 'fpkg) ;; Language support (require 'fg42/autocomplete) - (require 'fg42/langs/cpp)) + (require 'fg42/langs/cpp) + (require 'fg42/langs/verilog)) + (require 'server) (require 'fg42/modeline) - ;; (require 'fg42/utils) ;; (require 'fg42/modeline) ;; (require 'fg42/cubes/modeline) @@ -90,11 +91,16 @@ external dependencies." ("s-p" . projectile-command-map) ("C-c p" . projectile-command-map))) + (use! projectile-ripgrep "Use ripgrep with projectile" :after projectile) + (use! pkg-info + "`pkg-info' integration.") + + (use! helpful "Helpful is an alternative to the built-in Emacs help that provides much more contextual information." diff --git a/lisp/fg42/langs/verilog.el b/lisp/fg42/langs/verilog.el new file mode 100644 index 0000000..a9d3747 --- /dev/null +++ b/lisp/fg42/langs/verilog.el @@ -0,0 +1,64 @@ +;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*- +;; +;; Copyright (c) 2010-2024 Sameer Rahmani & Contributors +;; +;; Author: Sameer Rahmani +;; URL: https://devheroes.codes/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: +(eval-when-compile + (require 'fpkg)) + + +(use! verilog-mode + "Add support for verilog and system verilog to FG42. More info at +https://www.veripool.org/verilog-mode/") + +(use! verilog-ext + "This package provides useful extensions on top of `verilog-mode' and `verilog-ts-mode'." + :hook ((verilog-mode . verilog-ext-mode)) + :init + (setq verilog-ext-eglot-default-server 've-svls) + (setq verilog-ext-feature-list + '(font-lock + xref + capf + hierarchy + eglot + lsp + flycheck + beautify + navigation + template + formatter + compilation + imenu + which-func + hideshow + typedefs + time-stamp + block-end-comments + ports)) + :config + (setq verilog-ext-eglot-default-server 've-svls) + (verilog-ext-eglot-set-server 've-svls) + (verilog-ext-mode-setup)) + + +(provide 'fg42/langs/verilog) +;;; verilog.el ends here