~/.emacs.d/init.el
;; use-package
(require 'package)
(add-to-list 'package-archives
	     '("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless (package-installed-p 'use-package)
  (package-install 'use-package))
(setq use-package-always-ensure t)


;; apariencia
(add-to-list 'default-frame-alist '(font . "IBM Plex Mono" ))
(set-face-attribute 'default t :font "IBM Plex Mono" )

(global-column-number-mode t)
(global-visual-line-mode t)
(global-display-line-numbers-mode t)
(global-which-function-mode t)

(add-hook 'prog-mode-hook 'column-enforce-mode)
(setq column-enforce-comments nil)
(setq column-enforce-column 80)

(custom-set-variables
 '(custom-enabled-themes '(deeper-blue))
 '(display-battery-mode t)
 '(menu-bar-mode nil)
 '(tool-bar-mode nil)
 '(tool-bar-mode nil)   
 '(which-key-mode t)
 '(which-function-mode t)
 '(column-number-mode t)
 '(display-line-numbers-mode t)
 '(visual-line-mode t)
 )

(defun toggle-theme ()
  (interactive)
  (if (eq (car custom-enabled-themes) 'leuven)
      (disable-theme 'leuven)
    (load-theme 'leuven)
    ))
(global-set-key [f5] 'toggle-theme)

(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-step 1) ;; keyboard scroll one line at a time

(global-set-key (kbd "") 'text-scale-increase)
(global-set-key (kbd "") 'text-scale-decrease)

(global-set-key (kbd "s-C-") 'shrink-window-horizontally)
(global-set-key (kbd "s-C-") 'enlarge-window-horizontally)
(global-set-key (kbd "s-C-") 'shrink-window)
(global-set-key (kbd "s-C-") 'enlarge-window)

(global-set-key "\C-xi" (lambda () 
(interactive)
(other-window -1)))

(add-to-list 'backup-directory-alist (cons ".*" "~/.emacs.d/backup-files-folder"))

(when (display-graphic-p)
(global-unset-key (kbd "C-z")))

(use-package company
:ensure t)
(use-package smartparens
:ensure t)
(use-package fill-column-indicator
:ensure t
:config
(setq fci-rule-column 160)
(setq fci-rule-use-dashes t))

(use-package yasnippet
 :config
 (yas-global-mode 1))

(add-hook 'prog-mode-hook 'yas-minor-mode)
(require 'openwith)
(openwith-mode t)
(setq openwith-associations '(("\.pdf\'" "atril" (file))))

(setq extempore-path "/home/c/fencamilo/extempore/")

(require 'web-mode)
(add-to-list 'auto-mode-alist '("\.phtml\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.php\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.tpl\.php\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.[agj]sp\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.as[cp]x\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.erb\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.mustache\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.djhtml\'" . web-mode))
(add-to-list 'auto-mode-alist '("\.html?\'" . web-mode))

(defun my-web-mode-hook ()
"Hooks for Web mode."
(setq web-mode-markup-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(setq web-mode-code-indent-offset 2)
)
(add-hook 'web-mode-hook  'my-web-mode-hook)

;;(setq org-agenda-files '("~/.agenda.org"))

(setq org-todo-keywords
'((sequence "TODO" "STARTED" "|" "DONE")
(sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
(sequence "|" "CANCELED")))

(setq org-todo-keyword-faces
'(("TODO" . org-warning) ("STARTED" . "yellow")
("CANCELED" . (:foreground "blue" :weight bold))))

;; indentar dentro de bloques 
(setq org-src-tab-acts-natively t)
;; orgmode-cosas
;;(define-key org-mode-map "\M-q" 'toggle-truncate-lines)
;;(define-key org-mode-map "\M-q" 'org-fill-paragraph)
(add-hook 'org-mode-hook #'toggle-truncate-lines)
(add-hook 'org-mode-hook #'toggle-word-wrap)
;;(add-hook 'prog-mode-hook 'rainbow-blocks-mode)
(add-hook 'prog-mode-hook 'turn-on-smartparens-mode)
(add-hook 'after-init-hook 'global-company-mode)
(global-set-key (kbd "M-c") 'company-complete)

(setq package-install-upgrade-built-in t)

(defun reloadconf 
  (interactive)
  (load-file "~/.emacs.d/init.el")
)