 
 (setq css-indent-offset 2)
 
+(defun ar/open-in-external-app-lambda ()
+  "Return a function to open FPATH externally."
+  (cond
+   ((ar/windowsp)
+    (lambda (fPath)
+      (w32-shell-execute "open" (replace-regexp-in-string "/" "\\" fPath t t))))
+   ((ar/osxp)
+    (lambda (fPath)
+      (shell-command (format "open \"%s\"" fPath))))
+   ((ar/gnulinuxp)
+    (lambda (fPath)
+      (let ((process-connection-type nil))
+        (start-process "" nil "xdg-open" fPath))))))
+
 ;; Thank you Xah Lee.
 ;; from http://ergoemacs.org/emacs/emacs_dired_open_file_in_ext_apps.html
 (defun xah-open-in-external-app (&optional file)

  ;; ProductName: iPhone OS
  ;; ProductVersion: 7.1
  (set (make-local-variable 'compile-command)
        "xcodebuild -sdk iphonesimulator7.1 -target MyTarget")
  (define-key objc-mode-map [f7] 'ar/xc:build)
  (define-key objc-mode-map [f8] 'ar/xc:run))
(add-hook 'objc-mode-hook 'ar/objc-mode-hook-function)

(defun ar/java-mode-hook-function ()
  "Called when entering `java-mode'."
  ;; 100-column limit for java.
  (set-fill-column 100)
  ;; 2-char indent for java.
  (setq c-basic-offset 2))
(add-hook 'java-mode-hook 'ar/java-mode-hook-function)

(defun ar/prog-mode-hook-function ()

      (replace-match (format " %s"
                             (downcase (match-string 0)))
                     t nil))))
(global-set-key (kbd "C-c l") 'ar/split-camel-region)

;; M-. elisp navigation.
(use-package elisp-slime-nav
