Make font non-italicized by default
[spray] / spray.el
index 361e0490cb0d0af45f85e9cdf4088d175b564d0f..bbc15bee2c0e22840e8fae2129ffe6bd6791e4f8 100644 (file)
--- a/spray.el
+++ b/spray.el
@@ -18,7 +18,7 @@
 
 ;; Author: zk_phi
 ;; URL: http://hins11.yu-yake.com/
-;; Version: 0.0.0
+;; Version: 0.0.1
 
 ;;; Commentary:
 
@@ -36,6 +36,7 @@
 
 ;;; Change Log:
 ;; 0.0.0 test release
+;; 0.0.1 add spray-set-margins
 
 ;;; Code:
 
 (make-face 'spray-base-face)
 (set-face-attribute 'spray-base-face nil
                     :background (face-background 'default)
-                    :foreground (face-foreground 'default))
+                    :foreground (face-foreground 'default)
+                    :slant 'normal)
 
 (make-face 'spray-orp-face)
 (set-face-attribute 'spray-orp-face nil
                     :foreground "red"
                     :overline (face-foreground 'default)
-                    :underline (face-foreground 'default))
+                    :underline (face-foreground 'default)
+                    :slant 'normal)
 
 ;; * internal vars
 
+(defvar spray--margin-string "")
 (defvar spray--base-overlay nil)
 (defvar spray--orp-overlay nil)
 (defvar spray--running nil)
 (defvar spray--saved-buffer-face nil)
 (defvar spray--saved-restriction nil)
 
+;; * utility functions
+
+(defun spray-set-margins (left above)
+  "add margins before/above the spray text. each arguments can be
+an integer or a float value."
+  (setq spray--margin-string
+        (propertize " " 'display `((space-width ,left) (height ,(1+ above))))))
+
 ;; * the mode
 
 ;;;###autoload
          (spray-start/stop -1))))
 
 (defun spray--pre-command-handler ()
-  (unless (memq this-command
-                '(spray-forward-word spray-backward-word spray-start/stop))
+  (unless (string-match "^spray-" (symbol-name this-command))
     (spray-mode -1)))
 
 (defun spray--word-at-point ()
                             (t 0))))
     (move-overlay spray--orp-overlay (1- orp) orp)
     (move-overlay spray--base-overlay beg end)
-    (overlay-put spray--base-overlay
-                 'before-string (make-string (- 5 (- orp beg)) ?\s))
+    (overlay-put spray--base-overlay 'before-string
+                 (concat spray--margin-string
+                         (make-string (- 5 (- orp beg)) ?\s)))
     (narrow-to-region beg end)))
 
 (defun spray--update ()