From b5e027978316ac33f7d7d98774c43f2fdb973c8a Mon Sep 17 00:00:00 2001
From: Chizi123 <joelgrun@gmail.com>
Date: Wed, 20 Feb 2019 06:33:58 +0000
Subject: [PATCH] Added specific modes for some languages not yet in config

---
 config.org |  185 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 131 insertions(+), 54 deletions(-)

diff --git a/config.org b/config.org
index d48288a..b71394d 100644
--- a/config.org
+++ b/config.org
@@ -5,7 +5,7 @@
   (when (eq system-type 'windows-nt)
     ;; (add-to-list 'exec-path "C:/msys64/usr/bin")
     (add-to-list 'exec-path "C:/msys64/mingw64/bin")
-    (add-to-list 'exec-path "c:/Program Files/Racket")
+    (add-to-list 'exec-path "c:/Program Files/gnuplot")
     (setenv "PATH" (mapconcat #'identity exec-path path-separator)))
 #+END_SRC
 
@@ -71,7 +71,7 @@
   (pdf-tools-install))
 
 #+END_SRC
-* Helm and projectile
+* Helm and Projectile
 ** Helm core
 #+BEGIN_SRC emacs-lisp
 (use-package helm-config
@@ -114,7 +114,8 @@
      :config
      (projectile-global-mode)
      (setq projectile-completion-system 'helm)
-     (setq projectile-indexing-method 'alien))
+     (when (eq system-type 'windows-nt)
+       (setq projectile-indexing-method 'alien)))
  #+END_SRC
 *** Let it compile things
  #+BEGIN_SRC emacs-lisp
@@ -451,63 +452,63 @@
     :ensure t
     :diminish company-mode
     :config
-    (add-hook 'prog-mode-hook 'company-mode)
+    (global-company-mode)
     (setq company-idle-delay 0)
     (setq company-minimum-prefix-length 3))
 #+END_SRC
 ** Magit
 #+BEGIN_SRC emacs-lisp
-(use-package magit
-  :ensure t
-  :commands magit-get-top-dir
-  :bind ("C-x g" . magit-status)
-  :init
-  (progn
-    ;; make magit status go full-screen but remember previous window
-    ;; settings
-    ;; from: http://whattheemacsd.com/setup-magit.el-01.html
-    (defadvice magit-status (around magit-fullscreen activate)
-      (window-configuration-to-register :magit-fullscreen)
-      ad-do-it
-      (delete-other-windows))
-
-    ;; Close popup when committing - this stops the commit window
-    ;; hanging around
-    ;; From: http://git.io/rPBE0Q
-    (defadvice git-commit-commit (after delete-window activate)
-      (delete-window))
-
-    (defadvice git-commit-abort (after delete-window activate)
-      (delete-window))
-
-  :config
-  (progn
-    ;; restore previously hidden windows
-    (defadvice magit-quit-window (around magit-restore-screen activate)
-      (let ((current-mode major-mode))
+  (use-package magit
+    :ensure t
+    :commands magit-get-top-dir
+    :bind ("C-x g" . magit-status)
+    :init
+    (progn
+      ;; make magit status go full-screen but remember previous window
+      ;; settings
+      ;; from: http://whattheemacsd.com/setup-magit.el-01.html
+      (defadvice magit-status (around magit-fullscreen activate)
+        (window-configuration-to-register :magit-fullscreen)
         ad-do-it
-        ;; we only want to jump to register when the last seen buffer
-        ;; was a magit-status buffer.
-        (when (eq 'magit-status-mode current-mode)
-          (jump-to-register :magit-fullscreen)))))
+        (delete-other-windows))
 
-  ;; magit settings
-  (setq
-   ;; don't put "origin-" in front of new branch names by default
-   magit-default-tracking-name-function 'magit-default-tracking-name-branch-only
-   ;; open magit status in same window as current buffer
-   magit-status-buffer-switch-function 'switch-to-buffer
-   ;; highlight word/letter changes in hunk diffs
-   magit-diff-refine-hunk t
-   ;; ask me if I want to include a revision when rewriting
-   magit-rewrite-inclusive 'ask
-   ;; ask me to save buffers
-   magit-save-some-buffers t
-   ;; pop the process buffer if we're taking a while to complete
-   magit-process-popup-time 10
-   ;; ask me if I want a tracking upstream
-   magit-set-upstream-on-push 'askifnotset
-   )))
+      ;; Close popup when committing - this stops the commit window
+      ;; hanging around
+      ;; From: http://git.io/rPBE0Q
+      (defadvice git-commit-commit (after delete-window activate)
+        (delete-window))
+
+      (defadvice git-commit-abort (after delete-window activate)
+        (delete-window))
+
+      :config
+      (progn
+        ;; restore previously hidden windows
+        (defadvice magit-quit-window (around magit-restore-screen activate)
+          (let ((current-mode major-mode))
+            ad-do-it
+            ;; we only want to jump to register when the last seen buffer
+            ;; was a magit-status buffer.
+            (when (eq 'magit-status-mode current-mode)
+              (jump-to-register :magit-fullscreen)))))
+
+      ;; magit settings
+      (setq
+       ;; don't put "origin-" in front of new branch names by default
+       magit-default-tracking-name-function 'magit-default-tracking-name-branch-only
+       ;; open magit status in same window as current buffer
+       magit-status-buffer-switch-function 'switch-to-buffer
+       ;; highlight word/letter changes in hunk diffs
+       magit-diff-refine-hunk t
+       ;; ask me if I want to include a revision when rewriting
+       magit-rewrite-inclusive 'ask
+       ;; ask me to save buffers
+       magit-save-some-buffers t
+       ;; pop the process buffer if we're taking a while to complete
+       magit-process-popup-time 10
+       ;; ask me if I want a tracking upstream
+       magit-set-upstream-on-push 'askifnotset
+       )))
 #+END_SRC
 ** CEDET
 *** semantic
@@ -566,7 +567,7 @@
 **** company
 #+BEGIN_SRC emacs-lisp
     (use-package company-c-headers
-        :ensure t
+        :ensure tk
         :after company
         :config
         (add-hook 'c++-mode-hook 'company-mode)
@@ -639,6 +640,23 @@
     :after company
     :config
     (add-to-list 'company-backends 'company-math-symbols-unicode))
+
+  (use-package company-reftex
+    :ensure t
+    :after company
+    :config
+    (add-to-list 'company-backends 'company-reftex))
+
+  (use-package company-auctex
+    :ensure t
+    :after company
+    :config
+    (company-auctex-init))
+
+  (use-package company-bibtex
+    :ensure t
+    :after company
+    (add-to-list 'company-backends 'company-bibtex))
 #+END_SRC
 **** Preview pane
 #+BEGIN_SRC emacs-lisp
@@ -647,6 +665,35 @@
   :config
   (latex-preview-pane-enable))
 #+END_SRC
+**** TeXcount
+     Word counts in latex
+     #+BEGIN_SRC emacs-lisp
+       (when (eq system-type 'windows-nt)
+         (add-to-list 'exec-path "c:/Users/joelg/TeXcount_3_1_1")
+         (setenv "PATH" (mapconcat #'identity exec-path path-separator)))
+
+       (defun texcount ()
+         (interactive)
+         (let*
+             ( (this-file (buffer-file-name))
+               (enc-str (symbol-name buffer-file-coding-system))
+               (enc-opt
+                (cond
+                 ((string-match "utf-8" enc-str) "-utf8")
+                 ((string-match "latin" enc-str) "-latin1")
+                 ("-encoding=guess")
+                 ) )
+               (word-count
+                (with-output-to-string
+                  (with-current-buffer standard-output
+                    (call-process "texcount" nil t nil "-0" enc-opt this-file)
+                    ) ) ) )
+           (message word-count)
+           ) )
+       (add-hook 'LaTeX-mode-hook (lambda () (define-key LaTeX-mode-map (kbd "C-c c") 'texcount)))
+       (add-hook 'latex-mode-hook (lambda () (define-key latex-mode-map (kbd "C-c c") 'texcount)))
+     #+END_SRC
+
 *** PlantUML
 #+BEGIN_SRC emacs-lisp
 (use-package plantuml-mode
@@ -654,6 +701,36 @@
   :init
   (setq plantuml-jar-path "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar"))
 #+END_SRC
+
+*** Matlab
+**** Matlab mode
+#+BEGIN_SRC emacs-lisp
+  (use-package matlab-mode
+    :ensure t
+    :config
+    (autoload 'matlab-mode "matlab" "Matlab Editing Mode" t)
+    (add-to-list
+     'auto-mode-alist
+     '("\\.m$" . matlab-mode))
+    (setq matlab-indent-function t))
+#+END_SRC
+*** Racket
+**** Major mode
+#+BEGIN_SRC emacs-lisp
+  (when (eq system-type 'windows-nt)
+    (add-to-list 'exec-path "c:/Program Files/Racket")
+    (setenv "PATH" (mapconcat #'identity exec-path path-separator)))
+
+  (use-package racket-mode
+      :ensure t
+      :config
+      (autoload 'racket-mode "Racket" "Racket Editing Mode" t)
+      (add-to-list
+       'auto-mode-alist
+       '("\\.rkt$" . matlab-mode))
+      (setq matlab-indent-function t))
+#+END_SRC
+
 * Org mode 
 ** Up to date org
 #+BEGIN_SRC emacs-lisp

--
Gitblit v1.9.3