          "msT" 'ess-eval-function-and-go
          "mst" 'ess-eval-function
          )
+       (define-key ess-mode-map (kbd "<s-return>") 'ess-eval-line)
        (define-key inferior-ess-mode-map (kbd "C-j") 'comint-next-input)
        (define-key inferior-ess-mode-map (kbd "C-k") 'comint-previous-input))))
+
+(defun ess/init-rainbow-delimiters ()
+  (add-hook 'ess-mode-hook #'rainbow-delimiters-mode))
+
+(defun ess/init-ess-smart-equals ()
+  (add-hook 'ess-mode-hook 'ess-smart-equals-mode)
+  (add-hook 'inferior-ess-mode-hook 'ess-smart-equals-mode))

  (defun load-ess-on-demand ()
    (interactive)
    (use-package ess-site)
    (use-package ess-smart-underscore)
    (use-package ess-R-object-popup)
    (use-package ess-R-data-view)
    )

    ess
    ess-R-data-view
    ess-R-object-popup
    ess-smart-equals
    rainbow-delimiters
    )
  "List of all packages to install and/or initialize. Built-in packages
which require an initialization must be listed explicitly in the list.")
