 ;; allow deleting whitespace next to the cursor
 (setq-default ws-butler-keep-whitespace-before-point nil)
 
+(setq-default show-trailing-whitespace t)
+
 ;; display line numbers
 (when (version<= "26.0.50" emacs-version )
   (global-display-line-numbers-mode))
 
 ;; open *scratch* file when starting up
 (setq inhibit-startup-screen t)
+;; turn on highlighting in grep output
+(setq grep-highlight-matches t)
 
+;; enable extensions to the dired mode
+(add-hook 'dired-load-hook
+	  (function (lambda () (load "dired-x"))))
+
+;; packages
+(unless (package-installed-p 'diminish)
+  (package-refresh-contents)
+  (package-install 'diminish))
+(unless (package-installed-p 'use-package)
+  (package-refresh-contents)
+  (package-install 'use-package))
+(require 'use-package-ensure)
+(setq use-package-always-ensure t)
+
+(use-package company
+  :init
+  (global-company-mode))
+
+(global-set-key (kbd "C-c f") 'company-complete)
+(setq-default company-auto-complete-chars nil)
+(setq-default company-selection-wrap-around t)
+(company-tng-configure-default)
+(setq-default company-idle-delay nil)
 ;;
 ;; Themes
 ;;

;; mouse wheel scroll speed
(setq-default mouse-wheel-scroll-amount '(3 ((shift) . 10) ((control) . nil)))
(setq-default mouse-wheel-progressive-speed nil)

(global-set-key (kbd "S-C-<left>") 'shrink-window-horizontally)
(global-set-key (kbd "S-C-<right>") 'enlarge-window-horizontally)

(setq-default delete-trailing-lines nil)
;; don't create backup files and clutter
(setq auto-save-default nil)

;(setq-default make-backup-files nil)
;; set the cursor type
(setq-default cursor-type '(bar . 1))
;(setq-default cursor-type 'box)
;; cursor blink never times out
(setq-default blink-cursor-blinks 0)
;; add handles to resize windows
