       ("q"   nil nil :color blue)
       ("C-g" nil nil :color blue))
 
+;;; abbrev
     ;; Reset the verilog-mode abbrev table
     (with-eval-after-load 'abbrev
       (clear-abbrev-table verilog-mode-abbrev-table))
-
-    (defun modi/verilog-outshine-imenu ()
-      "Update `imenu-generic-expression' when using outshine."
-      ;; `imenu-generic-expression' is a buffer-local variable
-      (setq imenu-generic-expression
-            (append '(("*Level 1*"
-                       "^// \\* \\(?1:.*$\\)" 1)
-                      ("*Level 2*"
-                       "^// \\*\\* \\(?1:.*$\\)" 1)
-                      ("*Level 3*"
-                       "^// \\*\\* \\(?1:.*$\\)" 1))
-                    modi/verilog-imenu-generic-expression)))
 
 ;;; my/verilog-mode-customizations
     (defun my/verilog-mode-customizations ()

    (advice-add 'verilog-indent-line-relative :before-until #'my/verilog-selective-indent)
    ;; Advise the indentation done by hitting `TAB'
    (advice-add 'verilog-indent-line          :before-until #'my/verilog-selective-indent)

;;; imenu support
    ;; Imenu expression for Verilog mode.  See `imenu-generic-expression'
    (defconst modi/verilog-imenu-generic-expression
      '(("*Modules*"
         "^\\s-*\\(\\(m\\(odule\\|acromodule\\)\\)\\|primitive\\)\\s-+\\(?1:[A-Za-z_][A-Za-z0-9_.:]+\\)" 1)
        ("*Classes*"
         "^\\s-*\\(\\(static\\|local\\|virtual\\|protected\\)\\b\\s-+\\)*class\\s-+\\(?1:[A-Za-z_][A-Za-z0-9_]+\\)" 1)
        ("*Tasks*"
         "^\\s-*\\(\\(static\\|local\\|virtual\\|protected\\)\\b\\s-+\\)*task\\s-+\\(\\(static\\|automatic\\)\\s-+\\)*\\(?1:[A-Za-z_][A-Za-z0-9_:]+\\)" 1)
        ("*Functions*"
         "^\\s-*\\(\\(static\\|local\\|virtual\\|protected\\)\\b\\s-+\\)*function\\s-+\\([a-z_]+\\s-+\\)*\\(?1:[A-Za-z_][A-Za-z0-9_:]+\\)" 1))
      "Generic regular expression to parse Verilog elements for `imenu'.")

;;; hideshow
    (with-eval-after-load 'hideshow

;;    modi/verilog-jump-to-module-at-point (interactive)
;;    modi/verilog-find-parent-module (interactive)
;;    my/verilog-selective-indent
;;  hideshow
;;  hydra-verilog-template
;;  abbrev
;;  my/verilog-mode-customizations
;;    imenu + outshine
;;  Key bindings

(use-package verilog-mode
