;;; +keybindings.el -*- lexical-binding: t; -*-
;; Custom keybindings
;;
;; Select target in Makefile compilation as default
(map! :leader :n "c c" #'makefile-executor-execute-project-target)
;; Keybindings for R markdown polymode
(map! :map poly-markdown+R-mode-map
      :n "RET" #'polymode-eval-chunk
      :desc "Evaluate code block")
;; Map elfeed to global keybinding
(map! :leader :n "o e" #'=rss
      :desc "RSS reader")
;; Map wallabag to global keybinding
(map! :leader :n "o w" #'=wallabag
      :desc "Read saved articles")
;; Keybindings for org-noter
(map! :mode pdf-view-mode
      :n "i" #'org-noter-insert-note
      :desc "Insert note with a subheading")
(map! :mode pdf-view-mode
      :n "x" #'org-noter-kill-session
      :desc "Kill the current org-noter session")
;; Keybindings for pdf-view
(map! :mode pdf-view-mode
      :n ":" #'pdf-view-goto-page
      :desc "Move to the selected page")
;; Keybindings for mu4e
(map! :mode mu4e-view-mode
      :n "S" #'mu4e-view-save-attachments
      :desc "Save the chosen mail attachments")
;; Keybindings for next/previous buffer
(map! :n "C-c j" #'previous-buffer)
(map! :n "C-c k" #'next-buffer)
;; Keybindings for citar
(map! :leader :n "n B" #'citar-open-files
      :desc "Open associated PDF with bibliography entry")
;; Keybindings for PlatformIO
(map! :after platformio-mode
      :map platformio-mode-map
      (:leader
       :desc "Compile the project" "c c" #'platformio-build
       :desc "Upload the project" "c u" #'platformio-upload
       :desc "Monitor the serial console" "c m" #'platformio-device-monitor))