1 ;;; fuel-base.el --- Basic FUEL support code
3 ;; Copyright (C) 2008 Jose Antonio Ortega Ruiz
4 ;; See http://factorcode.org/license.txt for BSD license.
6 ;; Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
7 ;; Keywords: languages, fuel, factor
11 ;; Basic definitions likely to be used by all FUEL modules.
15 (defconst fuel-version "1.1")
18 (defsubst fuel-version ()
19 "Echoes FUEL's version."
21 (message "FUEL %s" fuel-version))
28 "Factor's Ultimate Emacs Library."
34 (defun fuel-shorten-str (str len)
35 (let ((sl (length str)))
39 (segl (/ (- len sepl) 2)))
40 (format "%s%s%s" (substring str 0 segl)
41 sep (substring str (- sl segl)))))))
43 (defun fuel-shorten-region (begin end len)
46 (split-string (buffer-substring begin end) nil t) " ") len))
48 (defsubst fuel-region-to-string (begin &optional end)
49 (let ((end (or end (point))))
52 (split-string (buffer-substring-no-properties begin end)
55 (defun fuel-respecting-message (format &rest format-args)
56 "Display TEXT as a message, without hiding any minibuffer contents."
57 (let ((text (format " [%s]" (apply #'format format format-args))))
58 (if (minibuffer-window-active-p (minibuffer-window))
59 (minibuffer-message text)
60 (message "%s" text))))
62 (defun fuel-mode--read-file (arg)
63 (let* ((file (or (and arg (read-file-name "File: " nil (buffer-file-name) t))
65 (file (expand-file-name file))
66 (buffer (find-file-noselect file)))
68 (buffer-modified-p buffer)
69 (y-or-n-p "Save file? "))
76 ;;; fuel-base.el ends here