mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 10:31:37 -08:00
Fix typos and remove superfluous backslash-quoting in htmlfontify.el.
* htmlfontify.el (htmlfontify-load-rgb-file) (htmlfontify-unload-rgb-file, hfy-fallback-colour-values) (htmlfontify-manual, htmlfontify, hfy-page-header, hfy-page-footer) (hfy-src-doc-link-style, hfy-src-doc-link-unstyle, hfy-link-extn) (hfy-link-style-fun, hfy-index-file, hfy-instance-file) (hfy-html-quote-regex, hfy-init-kludge-hook, hfy-post-html-hooks) (hfy-default-face-def, hfy-etag-regex, hfy-html-quote-map) (hfy-etags-cmd-alist-default, hfy-etags-bin, hfy-ignored-properties) (hfy-which-etags, hfy-etags-cmd, hfy-istext-command, hfy-display-class) (hfy-optimisations, hfy-tags-cache, hfy-tags-sortl, hfy-tags-rmap) (hfy-style-assoc, hfy-sheet-assoc, hfy-facemap-assoc, hfy-interq) (hfy-colour-vals, hfy-default-header, hfy-link-style-string) (hfy-triplet, hfy-slant, hfy-weight, hfy-combined-face-spec) (hfy-face-attr-for-class, hfy-face-to-style-i, hfy-size-to-int) (hfy-flatten-style, hfy-face-to-style, hfy-face-or-def-to-name) (hfy-face-to-css, hfy-p-to-face, hfy-p-to-face-lennart, hfy-face-at) (hfy-fontified-p, hfy-merge-adjacent-spans, hfy-buffer) (hfy-html-enkludge-buffer, hfy-html-quote, hfy-html-dekludge-buffer) (hfy-force-fontification, htmlfontify-buffer, hfy-dirname) (hfy-make-directory, hfy-text-p, hfy-mark-tag-names, hfy-relstub) (hfy-href-stub, hfy-href, hfy-mark-tag-hrefs, hfy-prepare-index-i) (hfy-prepare-index, hfy-prepare-tag-map, hfy-subtract-maps) (htmlfontify-run-etags): Fix typos in docstrings and remove superfluous backslash-quoting from parentheses, etc.
This commit is contained in:
parent
92b1c41682
commit
30afcdfffd
2 changed files with 243 additions and 217 deletions
|
|
@ -1,3 +1,30 @@
|
||||||
|
2010-01-11 Juanma Barranquero <lekktu@gmail.com>
|
||||||
|
|
||||||
|
* htmlfontify.el (htmlfontify-load-rgb-file)
|
||||||
|
(htmlfontify-unload-rgb-file, hfy-fallback-colour-values)
|
||||||
|
(htmlfontify-manual, htmlfontify, hfy-page-header, hfy-page-footer)
|
||||||
|
(hfy-src-doc-link-style, hfy-src-doc-link-unstyle, hfy-link-extn)
|
||||||
|
(hfy-link-style-fun, hfy-index-file, hfy-instance-file)
|
||||||
|
(hfy-html-quote-regex, hfy-init-kludge-hook, hfy-post-html-hooks)
|
||||||
|
(hfy-default-face-def, hfy-etag-regex, hfy-html-quote-map)
|
||||||
|
(hfy-etags-cmd-alist-default, hfy-etags-bin, hfy-ignored-properties)
|
||||||
|
(hfy-which-etags, hfy-etags-cmd, hfy-istext-command, hfy-display-class)
|
||||||
|
(hfy-optimisations, hfy-tags-cache, hfy-tags-sortl, hfy-tags-rmap)
|
||||||
|
(hfy-style-assoc, hfy-sheet-assoc, hfy-facemap-assoc, hfy-interq)
|
||||||
|
(hfy-colour-vals, hfy-default-header, hfy-link-style-string)
|
||||||
|
(hfy-triplet, hfy-slant, hfy-weight, hfy-combined-face-spec)
|
||||||
|
(hfy-face-attr-for-class, hfy-face-to-style-i, hfy-size-to-int)
|
||||||
|
(hfy-flatten-style, hfy-face-to-style, hfy-face-or-def-to-name)
|
||||||
|
(hfy-face-to-css, hfy-p-to-face, hfy-p-to-face-lennart, hfy-face-at)
|
||||||
|
(hfy-fontified-p, hfy-merge-adjacent-spans, hfy-buffer)
|
||||||
|
(hfy-html-enkludge-buffer, hfy-html-quote, hfy-html-dekludge-buffer)
|
||||||
|
(hfy-force-fontification, htmlfontify-buffer, hfy-dirname)
|
||||||
|
(hfy-make-directory, hfy-text-p, hfy-mark-tag-names, hfy-relstub)
|
||||||
|
(hfy-href-stub, hfy-href, hfy-mark-tag-hrefs, hfy-prepare-index-i)
|
||||||
|
(hfy-prepare-index, hfy-prepare-tag-map, hfy-subtract-maps)
|
||||||
|
(htmlfontify-run-etags): Fix typos in docstrings and remove superfluous
|
||||||
|
backslash-quoting from parentheses, etc.
|
||||||
|
|
||||||
2010-01-11 Chong Yidong <cyd@stupidchicken.com>
|
2010-01-11 Chong Yidong <cyd@stupidchicken.com>
|
||||||
|
|
||||||
* progmodes/js.el: Autoload javascript-mode alias.
|
* progmodes/js.el: Autoload javascript-mode alias.
|
||||||
|
|
|
||||||
|
|
@ -107,19 +107,19 @@
|
||||||
(autoload
|
(autoload
|
||||||
'htmlfontify-load-rgb-file
|
'htmlfontify-load-rgb-file
|
||||||
"hfy-cmap"
|
"hfy-cmap"
|
||||||
"Load an rgb.txt file for colour name -> rgb translation purposes."
|
"Load an rgb.txt file for color name -> rgb translation purposes."
|
||||||
'interactive)
|
'interactive)
|
||||||
|
|
||||||
(autoload
|
(autoload
|
||||||
'htmlfontify-unload-rgb-file
|
'htmlfontify-unload-rgb-file
|
||||||
"hfy-cmap"
|
"hfy-cmap"
|
||||||
"Unload the current colour name -> rgb translation map."
|
"Unload the current color name -> rgb translation map."
|
||||||
'interactive)
|
'interactive)
|
||||||
|
|
||||||
(autoload
|
(autoload
|
||||||
'hfy-fallback-colour-values
|
'hfy-fallback-colour-values
|
||||||
"hfy-cmap"
|
"hfy-cmap"
|
||||||
"Use a fallback method for obtaining the rgb values for a colour."
|
"Use a fallback method for obtaining the rgb values for a color."
|
||||||
'interactive)
|
'interactive)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -131,8 +131,8 @@
|
||||||
"The generator meta tag for this version of htmlfontify.")
|
"The generator meta tag for this version of htmlfontify.")
|
||||||
|
|
||||||
(defconst htmlfontify-manual "Htmlfontify Manual"
|
(defconst htmlfontify-manual "Htmlfontify Manual"
|
||||||
"Copy and convert buffers and files to html, adding hyperlinks between files
|
"Copy and convert buffers and files to HTML, adding hyperlinks between files
|
||||||
\(driven by etags\) if requested.
|
\(driven by etags) if requested.
|
||||||
\nInteractive functions:
|
\nInteractive functions:
|
||||||
`htmlfontify-buffer'
|
`htmlfontify-buffer'
|
||||||
`htmlfontify-run-etags'
|
`htmlfontify-run-etags'
|
||||||
|
|
@ -144,50 +144,50 @@ fontify a file you have open: M-x htmlfontify-buffer
|
||||||
prepare the etags map for a directory: M-x htmlfontify-run-etags
|
prepare the etags map for a directory: M-x htmlfontify-run-etags
|
||||||
copy a directory, fontifying as you go: M-x htmlfontify-copy-and-link-dir\n
|
copy a directory, fontifying as you go: M-x htmlfontify-copy-and-link-dir\n
|
||||||
The following might be useful when running non-windowed or in batch mode:
|
The following might be useful when running non-windowed or in batch mode:
|
||||||
\(note that they shouldn't be necessary - we have a built in map\)\n
|
\(note that they shouldn't be necessary - we have a built in map)\n
|
||||||
load an X11 style rgb.txt file: M-x htmlfontify-load-rgb-file
|
load an X11 style rgb.txt file: M-x htmlfontify-load-rgb-file
|
||||||
unload the current rgb.txt file: M-x htmlfontify-unload-rgb-file\n
|
unload the current rgb.txt file: M-x htmlfontify-unload-rgb-file\n
|
||||||
And here's a programmatic example:\n
|
And here's a programmatic example:\n
|
||||||
\(defun rtfm-build-page-header \(file style\)
|
\(defun rtfm-build-page-header (file style)
|
||||||
\(format \"#define TEMPLATE red+black.html
|
(format \"#define TEMPLATE red+black.html
|
||||||
#define DEBUG 1
|
#define DEBUG 1
|
||||||
#include <build/menu-dirlist|>\\n
|
#include <build/menu-dirlist|>\\n
|
||||||
html-css-url := /css/red+black.css
|
html-css-url := /css/red+black.css
|
||||||
title := rtfm.etla.org \( %s / src/%s \)
|
title := rtfm.etla.org ( %s / src/%s )
|
||||||
bodytag :=
|
bodytag :=
|
||||||
head <=STYLESHEET;\\n
|
head <=STYLESHEET;\\n
|
||||||
%s
|
%s
|
||||||
STYLESHEET
|
STYLESHEET
|
||||||
main-title := rtfm / %s / src/%s\\n
|
main-title := rtfm / %s / src/%s\\n
|
||||||
main-content <=MAIN_CONTENT;\\n\" rtfm-section file style rtfm-section file\)\)
|
main-content <=MAIN_CONTENT;\\n\" rtfm-section file style rtfm-section file))
|
||||||
|
|
||||||
\(defun rtfm-build-page-footer \(file\) \"\\nMAIN_CONTENT\\n\"\)
|
\(defun rtfm-build-page-footer (file) \"\\nMAIN_CONTENT\\n\")
|
||||||
|
|
||||||
\(defun rtfm-build-source-docs \(section srcdir destdir\)
|
\(defun rtfm-build-source-docs (section srcdir destdir)
|
||||||
\(interactive
|
(interactive
|
||||||
\"s section[eg- emacs / p4-blame]:\\nD source-dir: \\nD output-dir: \"\)
|
\"s section[eg- emacs / p4-blame]:\\nD source-dir: \\nD output-dir: \")
|
||||||
\(require 'htmlfontify\)
|
(require 'htmlfontify)
|
||||||
\(hfy-load-tags-cache srcdir\)
|
(hfy-load-tags-cache srcdir)
|
||||||
\(let \(\(hfy-page-header 'rtfm-build-page-header\)
|
(let ((hfy-page-header 'rtfm-build-page-header)
|
||||||
\(hfy-page-footer 'rtfm-build-page-footer\)
|
(hfy-page-footer 'rtfm-build-page-footer)
|
||||||
\(rtfm-section section\)
|
(rtfm-section section)
|
||||||
\(hfy-index-file \"index\"\)\)
|
(hfy-index-file \"index\"))
|
||||||
\(htmlfontify-run-etags srcdir\)
|
(htmlfontify-run-etags srcdir)
|
||||||
\(htmlfontify-copy-and-link-dir srcdir destdir \".src\" \".html\"\)\)\)")
|
(htmlfontify-copy-and-link-dir srcdir destdir \".src\" \".html\")))")
|
||||||
|
|
||||||
(defgroup htmlfontify nil
|
(defgroup htmlfontify nil
|
||||||
"Copy and convert buffers and files to html, adding hyperlinks between
|
"Copy and convert buffers and files to HTML, adding hyperlinks between
|
||||||
files \(driven by etags\) if requested.\n
|
files (driven by etags) if requested.\n
|
||||||
See: `htmlfontify-manual'"
|
See also `htmlfontify-manual'."
|
||||||
:group 'applications
|
:group 'applications
|
||||||
:prefix "hfy-")
|
:prefix "hfy-")
|
||||||
|
|
||||||
(defcustom hfy-page-header 'hfy-default-header
|
(defcustom hfy-page-header 'hfy-default-header
|
||||||
"Function called with two arguments \(the filename relative to the top
|
"Function called with two arguments (the filename relative to the top
|
||||||
level source directory being etag\'d and fontified), and a string containing
|
level source directory being etag'd and fontified), and a string containing
|
||||||
the <style>...</style> text to embed in the document- the string returned will
|
the <style>...</style> text to embed in the document- the string returned will
|
||||||
be used as the header for the htmlfontified version of the source file.\n
|
be used as the header for the htmlfontified version of the source file.\n
|
||||||
See also: `hfy-page-footer'"
|
See also `hfy-page-footer'."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
;; FIXME: Why place such a :tag everywhere? Isn't it imposing your
|
;; FIXME: Why place such a :tag everywhere? Isn't it imposing your
|
||||||
;; own Custom preference on your users? --Stef
|
;; own Custom preference on your users? --Stef
|
||||||
|
|
@ -204,7 +204,7 @@ be large and take a long time to render or be difficult to navigate."
|
||||||
|
|
||||||
(defcustom hfy-page-footer 'hfy-default-footer
|
(defcustom hfy-page-footer 'hfy-default-footer
|
||||||
"As `hfy-page-header', but generates the output footer
|
"As `hfy-page-header', but generates the output footer
|
||||||
\(and takes only 1 argument, the filename\)."
|
\(and takes only one argument, the filename)."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "page-footer"
|
:tag "page-footer"
|
||||||
:type '(function))
|
:type '(function))
|
||||||
|
|
@ -216,29 +216,29 @@ be large and take a long time to render or be difficult to navigate."
|
||||||
:type '(string))
|
:type '(string))
|
||||||
|
|
||||||
(defcustom hfy-src-doc-link-style "text-decoration: underline;"
|
(defcustom hfy-src-doc-link-style "text-decoration: underline;"
|
||||||
"String to add to the \'<style> a\' variant of an htmlfontify css class."
|
"String to add to the '<style> a' variant of an htmlfontify CSS class."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "src-doc-link-style"
|
:tag "src-doc-link-style"
|
||||||
:type '(string))
|
:type '(string))
|
||||||
|
|
||||||
(defcustom hfy-src-doc-link-unstyle " text-decoration: none;"
|
(defcustom hfy-src-doc-link-unstyle " text-decoration: none;"
|
||||||
"Regex to remove from the <style> a variant of an htmlfontify css class."
|
"Regex to remove from the <style> a variant of an htmlfontify CSS class."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "src-doc-link-unstyle"
|
:tag "src-doc-link-unstyle"
|
||||||
:type '(string))
|
:type '(string))
|
||||||
|
|
||||||
(defcustom hfy-link-extn nil
|
(defcustom hfy-link-extn nil
|
||||||
"File extension used for href links - Useful where the htmlfontify
|
"File extension used for href links.
|
||||||
output files are going to be processed again, with a resulting change
|
Useful where the htmlfontify output files are going to be processed
|
||||||
in file extension. If nil, then any code using this should fall back
|
again, with a resulting change in file extension. If nil, then any
|
||||||
to `hfy-extn'."
|
code using this should fall back to `hfy-extn'."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "link-extension"
|
:tag "link-extension"
|
||||||
:type '(choice string (const nil)))
|
:type '(choice string (const nil)))
|
||||||
|
|
||||||
(defcustom hfy-link-style-fun 'hfy-link-style-string
|
(defcustom hfy-link-style-fun 'hfy-link-style-string
|
||||||
"Set this to a function, which will be called with one argument
|
"Set this to a function, which will be called with one argument
|
||||||
\(a \"{ foo: bar; ...}\" css style-string\) - it should return a copy of
|
\(a \"{ foo: bar; ...}\" CSS style-string) - it should return a copy of
|
||||||
its argument, altered so as to make any changes you want made for text which
|
its argument, altered so as to make any changes you want made for text which
|
||||||
is a hyperlink, in addition to being in the class to which that style would
|
is a hyperlink, in addition to being in the class to which that style would
|
||||||
normally be applied."
|
normally be applied."
|
||||||
|
|
@ -246,23 +246,23 @@ normally be applied."
|
||||||
:tag "link-style-function"
|
:tag "link-style-function"
|
||||||
:type '(function))
|
:type '(function))
|
||||||
|
|
||||||
(defcustom hfy-index-file "hfy-index"
|
(defcustom hfy-index-file "hfy-index"
|
||||||
"Name \(sans extension\) of the tag definition index file produced during
|
"Name (sans extension) of the tag definition index file produced during
|
||||||
fontification-and-hyperlinking."
|
fontification-and-hyperlinking."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "index-file"
|
:tag "index-file"
|
||||||
:type '(string))
|
:type '(string))
|
||||||
|
|
||||||
(defcustom hfy-instance-file "hfy-instance"
|
(defcustom hfy-instance-file "hfy-instance"
|
||||||
"Name \(sans extension\) of the tag usage index file produced during
|
"Name (sans extension) of the tag usage index file produced during
|
||||||
fontification-and-hyperlinking."
|
fontification-and-hyperlinking."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "instance-file"
|
:tag "instance-file"
|
||||||
:type '(string))
|
:type '(string))
|
||||||
|
|
||||||
(defcustom hfy-html-quote-regex "\\(<\\|\"\\|&\\|>\\)"
|
(defcustom hfy-html-quote-regex "\\(<\\|\"\\|&\\|>\\)"
|
||||||
"Regex to match \(with a single back-reference per match\) strings in HTML
|
"Regex to match (with a single back-reference per match) strings in HTML
|
||||||
which should be quoted with `hfy-html-quote' \(and `hfy-html-quote-map'\)
|
which should be quoted with `hfy-html-quote' (and `hfy-html-quote-map')
|
||||||
to make them safe."
|
to make them safe."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "html-quote-regex"
|
:tag "html-quote-regex"
|
||||||
|
|
@ -271,28 +271,28 @@ to make them safe."
|
||||||
(define-obsolete-variable-alias 'hfy-init-kludge-hooks 'hfy-init-kludge-hook
|
(define-obsolete-variable-alias 'hfy-init-kludge-hooks 'hfy-init-kludge-hook
|
||||||
"23.2")
|
"23.2")
|
||||||
(defcustom hfy-init-kludge-hook '(hfy-kludge-cperl-mode)
|
(defcustom hfy-init-kludge-hook '(hfy-kludge-cperl-mode)
|
||||||
"List of functions to call when starting htmlfontify-buffer to do any
|
"List of functions to call when starting `htmlfontify-buffer' to do any
|
||||||
kludging necessary to get highlighting modes to bahave as you want, even
|
kludging necessary to get highlighting modes to behave as you want, even
|
||||||
when not running under a window system."
|
when not running under a window system."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "init-kludge-hooks"
|
:tag "init-kludge-hooks"
|
||||||
:type '(hook))
|
:type '(hook))
|
||||||
|
|
||||||
(defcustom hfy-post-html-hooks nil
|
(defcustom hfy-post-html-hooks nil
|
||||||
"List of functions to call after creating and filling the html buffer.
|
"List of functions to call after creating and filling the HTML buffer.
|
||||||
These functions will be called with the html buffer as the current buffer"
|
These functions will be called with the html buffer as the current buffer."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "post-html-hooks"
|
:tag "post-html-hooks"
|
||||||
:options '(set-auto-mode)
|
:options '(set-auto-mode)
|
||||||
:type '(hook))
|
:type '(hook))
|
||||||
|
|
||||||
(defcustom hfy-default-face-def nil
|
(defcustom hfy-default-face-def nil
|
||||||
"Fallback `defface' specification for the face \'default, used when
|
"Fallback `defface' specification for the face 'default, used when
|
||||||
`hfy-display-class' has been set \(the normal htmlfontify way of extracting
|
`hfy-display-class' has been set (the normal htmlfontify way of extracting
|
||||||
potentially non-current face information doesn\'t necessarily work for
|
potentially non-current face information doesn't necessarily work for
|
||||||
\'default\).\n
|
'default).\n
|
||||||
Example: I customise this to:\n
|
Example: I customize this to:\n
|
||||||
\(\(t :background \"black\" :foreground \"white\" :family \"misc-fixed\"\)\)"
|
\((t :background \"black\" :foreground \"white\" :family \"misc-fixed\"))"
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "default-face-definition"
|
:tag "default-face-definition"
|
||||||
:type '(alist))
|
:type '(alist))
|
||||||
|
|
@ -306,7 +306,7 @@ Example: I customise this to:\n
|
||||||
in order, to:\n
|
in order, to:\n
|
||||||
1 - The tag
|
1 - The tag
|
||||||
2 - The line
|
2 - The line
|
||||||
3 - The char \(point\) at which the tag occurs."
|
3 - The char (point) at which the tag occurs."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "etag-regex"
|
:tag "etag-regex"
|
||||||
:type '(regexp))
|
:type '(regexp))
|
||||||
|
|
@ -315,7 +315,7 @@ in order, to:\n
|
||||||
("<" "<" )
|
("<" "<" )
|
||||||
("&" "&" )
|
("&" "&" )
|
||||||
(">" ">" ))
|
(">" ">" ))
|
||||||
"Alist of char -> entity mappings used to make the text html-safe."
|
"Alist of char -> entity mappings used to make the text HTML-safe."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "html-quote-map"
|
:tag "html-quote-map"
|
||||||
:type '(alist :key-type (string)))
|
:type '(alist :key-type (string)))
|
||||||
|
|
@ -358,13 +358,13 @@ done;")
|
||||||
(defcustom hfy-etags-cmd-alist
|
(defcustom hfy-etags-cmd-alist
|
||||||
hfy-etags-cmd-alist-default
|
hfy-etags-cmd-alist-default
|
||||||
"Alist of possible shell commands that will generate etags output that
|
"Alist of possible shell commands that will generate etags output that
|
||||||
`htmlfontify' can use. \'%s\' will be replaced by `hfy-etags-bin'."
|
`htmlfontify' can use. '%s' will be replaced by `hfy-etags-bin'."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "etags-cmd-alist"
|
:tag "etags-cmd-alist"
|
||||||
:type '(alist :key-type (string) :value-type (string)) ))
|
:type '(alist :key-type (string) :value-type (string)) ))
|
||||||
|
|
||||||
(defcustom hfy-etags-bin "etags"
|
(defcustom hfy-etags-bin "etags"
|
||||||
"Location of etags binary (we begin by assuming it\'s in your path).\n
|
"Location of etags binary (we begin by assuming it's in your path).\n
|
||||||
Note that if etags is not in your path, you will need to alter the shell
|
Note that if etags is not in your path, you will need to alter the shell
|
||||||
commands in `hfy-etags-cmd-alist'."
|
commands in `hfy-etags-cmd-alist'."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
|
|
@ -377,20 +377,20 @@ commands in `hfy-etags-cmd-alist'."
|
||||||
:tag "shell-file-name"
|
:tag "shell-file-name"
|
||||||
:type '(file))
|
:type '(file))
|
||||||
|
|
||||||
(defcustom hfy-ignored-properties '(read-only
|
(defcustom hfy-ignored-properties '(read-only
|
||||||
intangible
|
intangible
|
||||||
modification-hooks
|
modification-hooks
|
||||||
insert-in-front-hooks
|
insert-in-front-hooks
|
||||||
insert-behind-hooks
|
insert-behind-hooks
|
||||||
point-entered
|
point-entered
|
||||||
point-left)
|
point-left)
|
||||||
"Properties to omit when copying a fontified buffer for html transformation."
|
"Properties to omit when copying a fontified buffer for HTML transformation."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "ignored-properties"
|
:tag "ignored-properties"
|
||||||
:type '(repeat symbol))
|
:type '(repeat symbol))
|
||||||
|
|
||||||
(defun hfy-which-etags ()
|
(defun hfy-which-etags ()
|
||||||
"Return a string indicating which flavour of etags we are using."
|
"Return a string indicating which flavour of etags we are using."
|
||||||
(let ((v (shell-command-to-string (concat hfy-etags-bin " --version"))))
|
(let ((v (shell-command-to-string (concat hfy-etags-bin " --version"))))
|
||||||
(cond ((string-match "exube" v) "exuberant ctags")
|
(cond ((string-match "exube" v) "exuberant ctags")
|
||||||
((string-match "GNU E" v) "emacs etags" )) ))
|
((string-match "GNU E" v) "emacs etags" )) ))
|
||||||
|
|
@ -400,8 +400,8 @@ commands in `hfy-etags-cmd-alist'."
|
||||||
"The etags equivalent command to run in a source directory to generate a tags
|
"The etags equivalent command to run in a source directory to generate a tags
|
||||||
file for the whole source tree from there on down. The command should emit
|
file for the whole source tree from there on down. The command should emit
|
||||||
the etags output on stdout.\n
|
the etags output on stdout.\n
|
||||||
Two canned commands are provided - they drive Emacs\' etags and
|
Two canned commands are provided - they drive Emacs' etags and
|
||||||
exuberant-ctags\' etags respectively."
|
exuberant-ctags' etags respectively."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "etags-command"
|
:tag "etags-command"
|
||||||
:type (eval-and-compile
|
:type (eval-and-compile
|
||||||
|
|
@ -412,8 +412,8 @@ exuberant-ctags\' etags respectively."
|
||||||
|
|
||||||
(defcustom hfy-istext-command "file %s | sed -e 's@^[^:]*:[ \t]*@@'"
|
(defcustom hfy-istext-command "file %s | sed -e 's@^[^:]*:[ \t]*@@'"
|
||||||
"Command to run with the name of a file, to see whether it is a text file
|
"Command to run with the name of a file, to see whether it is a text file
|
||||||
or not. The command should emit a string containing the word \'text\' if
|
or not. The command should emit a string containing the word 'text' if
|
||||||
the file is a text file, and a string not containing \'text\' otherwise."
|
the file is a text file, and a string not containing 'text' otherwise."
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "istext-command"
|
:tag "istext-command"
|
||||||
:type '(string))
|
:type '(string))
|
||||||
|
|
@ -427,27 +427,27 @@ the file is a text file, and a string not containing \'text\' otherwise."
|
||||||
|
|
||||||
(defcustom hfy-display-class nil
|
(defcustom hfy-display-class nil
|
||||||
"Display class to use to determine which display class to use when
|
"Display class to use to determine which display class to use when
|
||||||
calculating a face\'s attributes. This is useful when, for example, you
|
calculating a face's attributes. This is useful when, for example, you
|
||||||
are running Emacs on a tty or in batch mode, and want htmlfontify to have
|
are running Emacs on a tty or in batch mode, and want htmlfontify to have
|
||||||
access to the face spec you would use if you were connected to an X display.\n
|
access to the face spec you would use if you were connected to an X display.\n
|
||||||
Some valid class specification elements are:\n
|
Some valid class specification elements are:\n
|
||||||
\'\(class color\)
|
'(class color)
|
||||||
\'\(class grayscale\)
|
'(class grayscale)
|
||||||
\'\(background dark\)
|
'(background dark)
|
||||||
\'\(background light\)
|
'(background light)
|
||||||
\'\(type x-toolkit\)
|
'(type x-toolkit)
|
||||||
\'\(type tty\)
|
'(type tty)
|
||||||
\'\(type motif\)
|
'(type motif)
|
||||||
\'\(type lucid\)
|
'(type lucid)
|
||||||
Multiple values for a tag may be combined, to indicate that any one or more
|
Multiple values for a tag may be combined, to indicate that any one or more
|
||||||
of these values in the specification key constitutes a match, eg:\n
|
of these values in the specification key constitutes a match, eg:\n
|
||||||
\'\(\(class color grayscale\) \(type tty\)\) would match any of:\n
|
'((class color grayscale) (type tty)) would match any of:\n
|
||||||
\'\(\(class color\)\)
|
'((class color))
|
||||||
\'\(\(class grayscale\)\)
|
'((class grayscale))
|
||||||
\'\(\(class color grayscale\)\)\)
|
'((class color grayscale))
|
||||||
\'\(\(class color foo\)\)
|
'((class color foo))
|
||||||
\'\(\(type tty\)\)
|
'((type tty))
|
||||||
\'\(\(type tty\) \(class color\)\)\n
|
'((type tty) (class color))\n
|
||||||
and so on."
|
and so on."
|
||||||
:type '(alist :key-type (symbol) :value-type (symbol))
|
:type '(alist :key-type (symbol) :value-type (symbol))
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
|
|
@ -464,7 +464,7 @@ and so on."
|
||||||
(const :tag "Bright" light ))) ))
|
(const :tag "Bright" light ))) ))
|
||||||
|
|
||||||
(defcustom hfy-optimisations (list 'keep-overlays)
|
(defcustom hfy-optimisations (list 'keep-overlays)
|
||||||
"Optimisations to turn on: So far, the following have been implemented:\n
|
"Optimizations to turn on: So far, the following have been implemented:\n
|
||||||
merge-adjacent-tags: If two (or more) span tags are adjacent, identical and
|
merge-adjacent-tags: If two (or more) span tags are adjacent, identical and
|
||||||
separated by nothing more than whitespace, they will
|
separated by nothing more than whitespace, they will
|
||||||
be merged into one span.
|
be merged into one span.
|
||||||
|
|
@ -472,15 +472,15 @@ and so on."
|
||||||
zap-string-links : Suppress hyperlinking of tags found in strings.
|
zap-string-links : Suppress hyperlinking of tags found in strings.
|
||||||
div-wrapper : Add <div class=\"default\"> </div> tags around the
|
div-wrapper : Add <div class=\"default\"> </div> tags around the
|
||||||
output.
|
output.
|
||||||
keep-overlays : More of a bell \(or possibly whistle\) than an
|
keep-overlays : More of a bell (or possibly whistle) than an
|
||||||
optimisation - If on, preserve overlay highlighting
|
optimization - If on, preserve overlay highlighting
|
||||||
\(cf ediff or goo-font-lock\) as well as basic faces\n
|
(cf ediff or goo-font-lock) as well as basic faces.\n
|
||||||
And the following are planned but not yet available:\n
|
And the following are planned but not yet available:\n
|
||||||
kill-context-leak : Suppress hyperlinking between files highlighted by
|
kill-context-leak : Suppress hyperlinking between files highlighted by
|
||||||
different modes.\n
|
different modes.\n
|
||||||
Note: like compiler optimisations, these optimise the _output_ of the code,
|
Note: like compiler optimizations, these optimize the _output_ of the code,
|
||||||
not the processing of the source itself, and are therefore likely to slow
|
not the processing of the source itself, and are therefore likely to slow
|
||||||
htmlfontify down, at least a little. Except for skip-refontification,
|
htmlfontify down, at least a little. Except for skip-refontification,
|
||||||
which can never slow you down, but may result in incomplete fontification."
|
which can never slow you down, but may result in incomplete fontification."
|
||||||
:type '(set (const :tag "merge-adjacent-tags" merge-adjacent-tags )
|
:type '(set (const :tag "merge-adjacent-tags" merge-adjacent-tags )
|
||||||
(const :tag "zap-comment-links" zap-comment-links )
|
(const :tag "zap-comment-links" zap-comment-links )
|
||||||
|
|
@ -490,86 +490,86 @@ which can never slow you down, but may result in incomplete fontification."
|
||||||
(const :tag "div-wrapper" div-wrapper )
|
(const :tag "div-wrapper" div-wrapper )
|
||||||
(const :tag "keep-overlays" keep-overlays ))
|
(const :tag "keep-overlays" keep-overlays ))
|
||||||
:group 'htmlfontify
|
:group 'htmlfontify
|
||||||
:tag "optimisations")
|
:tag "optimizations")
|
||||||
|
|
||||||
(defvar hfy-tags-cache nil
|
(defvar hfy-tags-cache nil
|
||||||
"Alist of the form:\n
|
"Alist of the form:\n
|
||||||
\(\(\"/src/dir/0\" . tag-hash0\) \(\"/src/dir/1\" tag-hash1\) ...\)\n
|
\((\"/src/dir/0\" . tag-hash0) (\"/src/dir/1\" tag-hash1) ...)\n
|
||||||
Each tag hash entry then contains entries of the form:\n
|
Each tag hash entry then contains entries of the form:\n
|
||||||
\"tag_string\" => ((\"file/name.ext\" line char) ... )\n
|
\"tag_string\" => ((\"file/name.ext\" line char) ... )\n
|
||||||
ie an alist mapping \(relative\) file paths to line and character offsets.\n
|
ie an alist mapping (relative) file paths to line and character offsets.\n
|
||||||
See `hfy-load-tags-cache'.")
|
See also `hfy-load-tags-cache'.")
|
||||||
|
|
||||||
(defvar hfy-tags-sortl nil
|
(defvar hfy-tags-sortl nil
|
||||||
"Alist of the form \(\(\"/src/dir\" . (tag0 tag1 tag2)\) ... \)\n
|
"Alist of the form ((\"/src/dir\" . (tag0 tag1 tag2)) ... )\n
|
||||||
Where the tags are stored in descending order of length.\n
|
where the tags are stored in descending order of length.\n
|
||||||
See `hfy-load-tags-cache'.")
|
See also `hfy-load-tags-cache'.")
|
||||||
|
|
||||||
(defvar hfy-tags-rmap nil
|
(defvar hfy-tags-rmap nil
|
||||||
"Alist of the form \(\(\"/src/dir\" . tag-rmap-hash\)\)\n
|
"Alist of the form ((\"/src/dir\" . tag-rmap-hash))\n
|
||||||
Where tag-rmap-hash has entries of the form:
|
where tag-rmap-hash has entries of the form:
|
||||||
\"tag_string\" => ( \"file/name.ext\" line char )
|
\"tag_string\" => ( \"file/name.ext\" line char )
|
||||||
Unlike `hfy-tags-cache' these are the locations of occurrences of
|
Unlike `hfy-tags-cache' these are the locations of occurrences of
|
||||||
tagged items, not the locations of their definitions.")
|
tagged items, not the locations of their definitions.")
|
||||||
|
|
||||||
(defvar hfy-style-assoc 'please-ignore-this-line
|
(defvar hfy-style-assoc 'please-ignore-this-line
|
||||||
"An assoc representing/describing an Emacs face.
|
"An assoc representing/describing an Emacs face.
|
||||||
Properties may be repeated, In which case later properties should be
|
Properties may be repeated, in which case later properties should be
|
||||||
treated as if they were inherited from a \'parent\' font.
|
treated as if they were inherited from a 'parent' font.
|
||||||
\(For some properties, only the first encountered value is of any importance,
|
\(For some properties, only the first encountered value is of any importance,
|
||||||
for others the values might be cumulative, and for others they might be
|
for others the values might be cumulative, and for others they might be
|
||||||
cumulative in a complex way).\n
|
cumulative in a complex way.)\n
|
||||||
Some examples:\n
|
Some examples:\n
|
||||||
\(hfy-face-to-style 'default\) =>
|
\(hfy-face-to-style 'default) =>
|
||||||
\(\(\"background\" . \"rgb\(0, 0, 0\)\"\)
|
((\"background\" . \"rgb(0, 0, 0)\")
|
||||||
\(\"color\" . \"rgb\(255, 255, 255\)\"\)
|
(\"color\" . \"rgb(255, 255, 255)\")
|
||||||
\(\"font-style\" . \"normal\"\)
|
(\"font-style\" . \"normal\")
|
||||||
\(\"font-weight\" . \"500\"\)
|
(\"font-weight\" . \"500\")
|
||||||
\(\"font-stretch\" . \"normal\"\)
|
(\"font-stretch\" . \"normal\")
|
||||||
\(\"font-family\" . \"misc-fixed\"\)
|
(\"font-family\" . \"misc-fixed\")
|
||||||
\(\"font-size\" . \"13pt\"\)
|
(\"font-size\" . \"13pt\")
|
||||||
\(\"text-decoration\" . \"none\"\)\)\n
|
(\"text-decoration\" . \"none\"))\n
|
||||||
\(hfy-face-to-style 'Info-title-3-face\) =>
|
\(hfy-face-to-style 'Info-title-3-face) =>
|
||||||
\(\(\"font-weight\" . \"700\"\)
|
((\"font-weight\" . \"700\")
|
||||||
\(\"font-family\" . \"helv\"\)
|
(\"font-family\" . \"helv\")
|
||||||
\(\"font-size\" . \"120%\"\)
|
(\"font-size\" . \"120%\")
|
||||||
\(\"text-decoration\" . \"none\"\)\)\n")
|
(\"text-decoration\" . \"none\"))\n")
|
||||||
|
|
||||||
(defvar hfy-sheet-assoc 'please-ignore-this-line
|
(defvar hfy-sheet-assoc 'please-ignore-this-line
|
||||||
"An assoc with elements of the form (face-name style-name . stlye-string):\n
|
"An assoc with elements of the form (face-name style-name . style-string):\n
|
||||||
'\(\(default \"default\" . \"{background: black;color: white}\"\)
|
'((default \"default\" . \"{background: black; color: white}\")
|
||||||
\(font-lock-string-face \"string\" . \"{color: rgb\(64,224,208\)}\"\)\)" )
|
(font-lock-string-face \"string\" . \"{color: rgb(64,224,208)}\"))" )
|
||||||
|
|
||||||
(defvar hfy-facemap-assoc 'please-ignore-this-line
|
(defvar hfy-facemap-assoc 'please-ignore-this-line
|
||||||
"An assoc of \(point . FACE-SYMBOL\) or \(point . DEFFACE-LIST\)
|
"An assoc of (point . FACE-SYMBOL) or (point . DEFFACE-LIST)
|
||||||
and (point . 'end) elements, in descending order of point value
|
and (point . 'end) elements, in descending order of point value
|
||||||
\(ie from the file's end to its beginning\).\n
|
\(ie from the file's end to its beginning).\n
|
||||||
The map is in reverse order because inserting a <style> tag \(or any other
|
The map is in reverse order because inserting a <style> tag (or any other
|
||||||
string) at POINT invalidates the map for all entries with a greater value of
|
string) at `point' invalidates the map for all entries with a greater value of
|
||||||
point. By traversing the map from greatest to least POINT, we still invalidate
|
point. By traversing the map from greatest to least point, we still invalidate
|
||||||
the map as we go, but only those points we have already dealt with \( and
|
the map as we go, but only those points we have already dealt with (and
|
||||||
therefore no longer care about \) will be invalid at any time.\n
|
therefore no longer care about) will be invalid at any time.\n
|
||||||
'\(\(64820 . end\)
|
'((64820 . end)
|
||||||
\(64744 . font-lock-comment-face\)
|
(64744 . font-lock-comment-face)
|
||||||
\(64736 . end\)
|
(64736 . end)
|
||||||
\(64722 . font-lock-string-face\)
|
(64722 . font-lock-string-face)
|
||||||
\(64630 . end\)
|
(64630 . end)
|
||||||
\(64623 . font-lock-string-face\)
|
(64623 . font-lock-string-face)
|
||||||
\(64449 . end\)
|
(64449 . end)
|
||||||
\(64446 . font-lock-keyword-face\)
|
(64446 . font-lock-keyword-face)
|
||||||
\(64406 . end\)
|
(64406 . end)
|
||||||
\(64395 . font-lock-constant-face\)
|
(64395 . font-lock-constant-face)
|
||||||
\(64393 . end\)
|
(64393 . end)
|
||||||
\(64386 . font-lock-keyword-face\)
|
(64386 . font-lock-keyword-face)
|
||||||
\(64379 . end\)
|
(64379 . end)
|
||||||
;; big similar section elided. You get the idea.
|
;; big similar section elided. You get the idea.
|
||||||
\(4285 . font-lock-constant-face\)
|
(4285 . font-lock-constant-face)
|
||||||
\(4285 . end\)
|
(4285 . end)
|
||||||
\(4221 . font-lock-comment-face\)
|
(4221 . font-lock-comment-face)
|
||||||
\(4221 . end\)
|
(4221 . end)
|
||||||
\(4197 . font-lock-constant-face\)
|
(4197 . font-lock-constant-face)
|
||||||
\(4197 . end\)
|
(4197 . end)
|
||||||
\(1 . font-lock-comment-face\)\)")
|
(1 . font-lock-comment-face))")
|
||||||
|
|
||||||
(defvar hfy-tmpfont-stack nil
|
(defvar hfy-tmpfont-stack nil
|
||||||
"An alist of derived fonts resulting from overlays.")
|
"An alist of derived fonts resulting from overlays.")
|
||||||
|
|
@ -583,7 +583,7 @@ therefore no longer care about \) will be invalid at any time.\n
|
||||||
"\\(" hfy-hex-regex hfy-hex-regex "\\)"))
|
"\\(" hfy-hex-regex hfy-hex-regex "\\)"))
|
||||||
|
|
||||||
(defun hfy-interq (set-a set-b)
|
(defun hfy-interq (set-a set-b)
|
||||||
"Return the intersection \(using `eq'\) of 2 lists SET-A and SET-B."
|
"Return the intersection (using `eq') of two lists SET-A and SET-B."
|
||||||
(let ((sa set-a) (interq nil) (elt nil))
|
(let ((sa set-a) (interq nil) (elt nil))
|
||||||
(while sa
|
(while sa
|
||||||
(setq elt (car sa)
|
(setq elt (car sa)
|
||||||
|
|
@ -591,8 +591,8 @@ therefore no longer care about \) will be invalid at any time.\n
|
||||||
(if (memq elt set-b) (setq interq (cons elt interq)))) interq))
|
(if (memq elt set-b) (setq interq (cons elt interq)))) interq))
|
||||||
|
|
||||||
(defun hfy-colour-vals (colour)
|
(defun hfy-colour-vals (colour)
|
||||||
"Where COLOUR is a colour name or #XXXXXX style triplet, return a
|
"Where COLOUR is a color name or #XXXXXX style triplet, return a
|
||||||
list of 3 (16 bit) rgb values for said colour.\n
|
list of three (16 bit) rgb values for said color.\n
|
||||||
If a window system is unavailable, calls `hfy-fallback-colour-values'."
|
If a window system is unavailable, calls `hfy-fallback-colour-values'."
|
||||||
(if (string-match hfy-triplet-regex colour)
|
(if (string-match hfy-triplet-regex colour)
|
||||||
(mapcar
|
(mapcar
|
||||||
|
|
@ -653,7 +653,7 @@ STYLE is the inline CSS stylesheet (or tag referring to an external sheet)."
|
||||||
// whether the current row is odd or even
|
// whether the current row is odd or even
|
||||||
var even = false;
|
var even = false;
|
||||||
|
|
||||||
// if arguments are provided to specify the colours
|
// if arguments are provided to specify the colors
|
||||||
// of the even & odd rows, then use the them;
|
// of the even & odd rows, then use the them;
|
||||||
// otherwise use the following defaults:
|
// otherwise use the following defaults:
|
||||||
var evenColor = arguments[1] ? arguments[1] : \"#fff\";
|
var evenColor = arguments[1] ? arguments[1] : \"#fff\";
|
||||||
|
|
@ -739,7 +739,7 @@ FILE is the name of the file being rendered, in case it is needed."
|
||||||
"\n </body>\n</html>\n")
|
"\n </body>\n</html>\n")
|
||||||
|
|
||||||
(defun hfy-link-style-string (style-string)
|
(defun hfy-link-style-string (style-string)
|
||||||
"Replace the end of a css style declaration STYLE-STRING with the contents
|
"Replace the end of a CSS style declaration STYLE-STRING with the contents
|
||||||
of the variable `hfy-src-doc-link-style', removing text matching the regex
|
of the variable `hfy-src-doc-link-style', removing text matching the regex
|
||||||
`hfy-src-doc-link-unstyle' first, if necessary."
|
`hfy-src-doc-link-unstyle' first, if necessary."
|
||||||
;;(message "hfy-colour-vals");;DBUG
|
;;(message "hfy-colour-vals");;DBUG
|
||||||
|
|
@ -755,11 +755,11 @@ of the variable `hfy-src-doc-link-style', removing text matching the regex
|
||||||
;; utility functions - cast emacs style specification values into their
|
;; utility functions - cast emacs style specification values into their
|
||||||
;; css2 equivalents:
|
;; css2 equivalents:
|
||||||
(defun hfy-triplet (colour)
|
(defun hfy-triplet (colour)
|
||||||
"Takes a COLOUR name \(string\) and return a CSS rgb(R, G, B) triplet string.
|
"Takes a COLOUR name (string) and return a CSS rgb(R, G, B) triplet string.
|
||||||
Uses the definition of \"white\" to map the numbers to the 0-255 range, so
|
Uses the definition of \"white\" to map the numbers to the 0-255 range, so
|
||||||
if you\'ve redefined white, \(esp if you've redefined it to have a triplet
|
if you've redefined white, (esp. if you've redefined it to have a triplet
|
||||||
member lower than that of the colour you are processing, strange things
|
member lower than that of the color you are processing) strange things
|
||||||
may happen\)."
|
may happen."
|
||||||
;;(message "hfy-colour-vals");;DBUG
|
;;(message "hfy-colour-vals");;DBUG
|
||||||
(let ((white (mapcar (lambda (I) (float (1+ I))) (hfy-colour-vals "white")))
|
(let ((white (mapcar (lambda (I) (float (1+ I))) (hfy-colour-vals "white")))
|
||||||
(rgb16 (mapcar (lambda (I) (float (1+ I))) (hfy-colour-vals colour))))
|
(rgb16 (mapcar (lambda (I) (float (1+ I))) (hfy-colour-vals colour))))
|
||||||
|
|
@ -782,7 +782,7 @@ may happen\)."
|
||||||
:type 'float
|
:type 'float
|
||||||
:group 'htmlfontify)
|
:group 'htmlfontify)
|
||||||
|
|
||||||
(defun hfy-size (height)
|
(defun hfy-size (height)
|
||||||
"Derive a CSS font-size specifier from an Emacs font :height attribute HEIGHT.
|
"Derive a CSS font-size specifier from an Emacs font :height attribute HEIGHT.
|
||||||
Does not cope with the case where height is a function to be applied to
|
Does not cope with the case where height is a function to be applied to
|
||||||
the height of the underlying font."
|
the height of the underlying font."
|
||||||
|
|
@ -794,8 +794,8 @@ the height of the underlying font."
|
||||||
((integerp height)
|
((integerp height)
|
||||||
(cons "font-size" (format "%dpt" (/ (* hfy-font-zoom height) 10 )))) )) )
|
(cons "font-size" (format "%dpt" (/ (* hfy-font-zoom height) 10 )))) )) )
|
||||||
|
|
||||||
(defun hfy-slant (slant)
|
(defun hfy-slant (slant)
|
||||||
"Derive a font-style css specifier from the Emacs :slant attribute SLANT:
|
"Derive a font-style CSS specifier from the Emacs :slant attribute SLANT:
|
||||||
CSS does not define the reverse-* styles, so just maps those to the
|
CSS does not define the reverse-* styles, so just maps those to the
|
||||||
regular specifiers."
|
regular specifiers."
|
||||||
(list (cons "font-style"
|
(list (cons "font-style"
|
||||||
|
|
@ -806,7 +806,7 @@ regular specifiers."
|
||||||
"normal"))))
|
"normal"))))
|
||||||
|
|
||||||
(defun hfy-weight (weight)
|
(defun hfy-weight (weight)
|
||||||
"Derive a font-weight css specifier from an Emacs weight spec symbol WEIGHT."
|
"Derive a font-weight CSS specifier from an Emacs weight spec symbol WEIGHT."
|
||||||
(list (cons "font-weight" (cdr (assq weight '((ultra-bold . "900")
|
(list (cons "font-weight" (cdr (assq weight '((ultra-bold . "900")
|
||||||
(extra-bold . "800")
|
(extra-bold . "800")
|
||||||
(bold . "700")
|
(bold . "700")
|
||||||
|
|
@ -816,7 +816,7 @@ regular specifiers."
|
||||||
(light . "300")
|
(light . "300")
|
||||||
(extra-light . "200")
|
(extra-light . "200")
|
||||||
(ultra-light . "100")))))))
|
(ultra-light . "100")))))))
|
||||||
|
|
||||||
(defun hfy-box-to-border-assoc (spec)
|
(defun hfy-box-to-border-assoc (spec)
|
||||||
(if spec
|
(if spec
|
||||||
(let ((tag (car spec))
|
(let ((tag (car spec))
|
||||||
|
|
@ -866,7 +866,7 @@ VAL is ignored here."
|
||||||
|
|
||||||
(defun hfy-combined-face-spec (face)
|
(defun hfy-combined-face-spec (face)
|
||||||
"Return a `defface' style alist of possible specifications for FACE.
|
"Return a `defface' style alist of possible specifications for FACE.
|
||||||
Entries resulting from customisation \(`custom-set-faces'\) will take
|
Entries resulting from customization (`custom-set-faces') will take
|
||||||
precedence."
|
precedence."
|
||||||
(let ((spec nil))
|
(let ((spec nil))
|
||||||
(setq spec (append (or (get face 'saved-face) (list))
|
(setq spec (append (or (get face 'saved-face) (list))
|
||||||
|
|
@ -876,19 +876,19 @@ precedence."
|
||||||
|
|
||||||
(defun hfy-face-attr-for-class (face &optional class)
|
(defun hfy-face-attr-for-class (face &optional class)
|
||||||
"Return the face attributes for FACE.
|
"Return the face attributes for FACE.
|
||||||
If CLASS is set, it must be a `defface' alist key \[see below\],
|
If CLASS is set, it must be a `defface' alist key [see below],
|
||||||
in which case the first face specification returned by `hfy-combined-face-spec'
|
in which case the first face specification returned by `hfy-combined-face-spec'
|
||||||
which *doesn\'t* clash with CLASS is returned.\n
|
which *doesn't* clash with CLASS is returned.\n
|
||||||
\(A specification with a class of t is considered to match any class you
|
\(A specification with a class of t is considered to match any class you
|
||||||
specify - this matches Emacs\' behaviour when deciding on which face attributes
|
specify - this matches Emacs' behavior when deciding on which face attributes
|
||||||
to use, to the best of my understanding\).\n
|
to use, to the best of my understanding).\n
|
||||||
If CLASS is nil, then you just get get whatever `face-attr-construct' returns,
|
If CLASS is nil, then you just get get whatever `face-attr-construct' returns,
|
||||||
ie the current specification in effect for FACE.\n
|
ie the current specification in effect for FACE.\n
|
||||||
*NOTE* This function forces any face that is not \'default and which has
|
*NOTE*: This function forces any face that is not 'default and which has
|
||||||
no :inherit property to inherit from \'default \( this is because \'default
|
no :inherit property to inherit from 'default (this is because 'default
|
||||||
is magical in that Emacs' fonts behave as if they inherit implicitly from
|
is magical in that Emacs' fonts behave as if they inherit implicitly from
|
||||||
\'default, but no such behaviour exists in HTML/CSS \).\n
|
'default, but no such behavior exists in HTML/CSS).\n
|
||||||
See `hfy-display-class' for details of valid values for CLASS."
|
See also `hfy-display-class' for details of valid values for CLASS."
|
||||||
(let ((face-spec
|
(let ((face-spec
|
||||||
(if class
|
(if class
|
||||||
(let ((face-props (hfy-combined-face-spec face))
|
(let ((face-props (hfy-combined-face-spec face))
|
||||||
|
|
@ -975,9 +975,9 @@ See `hfy-display-class' for details of valid values for CLASS."
|
||||||
;; :height 98 :width normal :family "outline-courier new")
|
;; :height 98 :width normal :family "outline-courier new")
|
||||||
(defun hfy-face-to-style-i (fn)
|
(defun hfy-face-to-style-i (fn)
|
||||||
"The guts of `hfy-face-to-style': FN should be a `defface' font spec,
|
"The guts of `hfy-face-to-style': FN should be a `defface' font spec,
|
||||||
as returned by `face-attr-construct' or `hfy-face-attr-for-class'. Note
|
as returned by `face-attr-construct' or `hfy-face-attr-for-class'.
|
||||||
that this function does not get font-sizes right if they are based on
|
Note that this function does not get font-sizes right if they are based
|
||||||
inherited modifiers \(via the :inherit\) attribute, and any other
|
on inherited modifiers (via the :inherit) attribute, and any other
|
||||||
modifiers that are cumulative if they appear multiple times need to be
|
modifiers that are cumulative if they appear multiple times need to be
|
||||||
merged by the user - `hfy-flatten-style' should do this."
|
merged by the user - `hfy-flatten-style' should do this."
|
||||||
;;(message "hfy-face-to-style-i");;DBUG
|
;;(message "hfy-face-to-style-i");;DBUG
|
||||||
|
|
@ -1026,8 +1026,8 @@ merged by the user - `hfy-flatten-style' should do this."
|
||||||
(nconc this that parent))) )
|
(nconc this that parent))) )
|
||||||
|
|
||||||
(defun hfy-size-to-int (spec)
|
(defun hfy-size-to-int (spec)
|
||||||
"Convert SPEC, a css font-size specifier, back to an Emacs :height attribute
|
"Convert SPEC, a CSS font-size specifier, to an Emacs :height attribute value.
|
||||||
value. Used while merging multiple font-size attributes."
|
Used while merging multiple font-size attributes."
|
||||||
;;(message "hfy-size-to-int");;DBUG
|
;;(message "hfy-size-to-int");;DBUG
|
||||||
(list
|
(list
|
||||||
(if (string-match "\\([0-9]+\\)\\(%\\|pt\\)" spec)
|
(if (string-match "\\([0-9]+\\)\\(%\\|pt\\)" spec)
|
||||||
|
|
@ -1044,7 +1044,7 @@ value. Used while merging multiple font-size attributes."
|
||||||
"Take STYLE (see `hfy-face-to-style-i', `hfy-face-to-style') and merge
|
"Take STYLE (see `hfy-face-to-style-i', `hfy-face-to-style') and merge
|
||||||
any multiple attributes appropriately. Currently only font-size is merged
|
any multiple attributes appropriately. Currently only font-size is merged
|
||||||
down to a single occurrence - others may need special handling, but I
|
down to a single occurrence - others may need special handling, but I
|
||||||
haven\'t encountered them yet. Returns a `hfy-style-assoc'."
|
haven't encountered them yet. Returns a `hfy-style-assoc'."
|
||||||
;;(message "(hfy-flatten-style %S)" style) ;;DBUG
|
;;(message "(hfy-flatten-style %S)" style) ;;DBUG
|
||||||
(let ((n 0)
|
(let ((n 0)
|
||||||
(m (list 1))
|
(m (list 1))
|
||||||
|
|
@ -1062,9 +1062,9 @@ haven\'t encountered them yet. Returns a `hfy-style-assoc'."
|
||||||
|
|
||||||
(defun hfy-face-to-style (fn)
|
(defun hfy-face-to-style (fn)
|
||||||
"Take FN, a font or `defface' style font specification,
|
"Take FN, a font or `defface' style font specification,
|
||||||
\(as returned by `face-attr-construct' or `hfy-face-attr-for-class'\)
|
\(as returned by `face-attr-construct' or `hfy-face-attr-for-class')
|
||||||
and return a `hfy-style-assoc'.\n
|
and return a `hfy-style-assoc'.\n
|
||||||
See also: `hfy-face-to-style-i', `hfy-flatten-style'."
|
See also `hfy-face-to-style-i', `hfy-flatten-style'."
|
||||||
;;(message "hfy-face-to-style");;DBUG
|
;;(message "hfy-face-to-style");;DBUG
|
||||||
(let ((face-def (if (facep fn)
|
(let ((face-def (if (facep fn)
|
||||||
(hfy-face-attr-for-class fn hfy-display-class) fn))
|
(hfy-face-attr-for-class fn hfy-display-class) fn))
|
||||||
|
|
@ -1086,7 +1086,7 @@ See also: `hfy-face-to-style-i', `hfy-flatten-style'."
|
||||||
;; also handle ephemeral fonts created by overlays, which don't actually
|
;; also handle ephemeral fonts created by overlays, which don't actually
|
||||||
;; have names:
|
;; have names:
|
||||||
(defun hfy-face-or-def-to-name (fn)
|
(defun hfy-face-or-def-to-name (fn)
|
||||||
"Render a font symbol or `defface' font spec FN into a name \(string\)."
|
"Render a font symbol or `defface' font spec FN into a name (string)."
|
||||||
;;(message "generating name for %s" fn)
|
;;(message "generating name for %s" fn)
|
||||||
(if (not (listp fn))
|
(if (not (listp fn))
|
||||||
(format "%s" fn)
|
(format "%s" fn)
|
||||||
|
|
@ -1119,9 +1119,9 @@ See also: `hfy-face-to-style-i', `hfy-flatten-style'."
|
||||||
;; construct an assoc of (stripped-name . "{ css-stuff-here }") pairs
|
;; construct an assoc of (stripped-name . "{ css-stuff-here }") pairs
|
||||||
;; from a face:
|
;; from a face:
|
||||||
(defun hfy-face-to-css (fn)
|
(defun hfy-face-to-css (fn)
|
||||||
"Take FN, a font or `defface' specification \(cf `face-attr-construct'\)
|
"Take FN, a font or `defface' specification (cf `face-attr-construct')
|
||||||
and return a CSS style specification.\n
|
and return a CSS style specification.\n
|
||||||
See also: `hfy-face-to-style'"
|
See also `hfy-face-to-style'."
|
||||||
;;(message "hfy-face-to-css");;DBUG
|
;;(message "hfy-face-to-css");;DBUG
|
||||||
(let ((css-list nil)
|
(let ((css-list nil)
|
||||||
(css-text nil)
|
(css-text nil)
|
||||||
|
|
@ -1140,7 +1140,7 @@ See also: `hfy-face-to-style'"
|
||||||
|
|
||||||
;; extract a face from a list of char properties, if there is one:
|
;; extract a face from a list of char properties, if there is one:
|
||||||
(defun hfy-p-to-face (props)
|
(defun hfy-p-to-face (props)
|
||||||
"Given PROPS, a list of text-properties, return the value of the face
|
"Given PROPS, a list of text properties, return the value of the face
|
||||||
property, or nil."
|
property, or nil."
|
||||||
(if props
|
(if props
|
||||||
(if (string= (car props) "face")
|
(if (string= (car props) "face")
|
||||||
|
|
@ -1152,7 +1152,7 @@ property, or nil."
|
||||||
nil))
|
nil))
|
||||||
|
|
||||||
(defun hfy-p-to-face-lennart (props)
|
(defun hfy-p-to-face-lennart (props)
|
||||||
"Given PROPS, a list of text-properties, return the value of the face
|
"Given PROPS, a list of text properties, return the value of the face
|
||||||
property, or nil."
|
property, or nil."
|
||||||
(when props
|
(when props
|
||||||
(let ((face (plist-get props 'face))
|
(let ((face (plist-get props 'face))
|
||||||
|
|
@ -1230,8 +1230,8 @@ MAP is the invisibility map as returned by `hfy-find-invisible-ranges'."
|
||||||
;; -- v
|
;; -- v
|
||||||
(defun hfy-face-at (p)
|
(defun hfy-face-at (p)
|
||||||
"Find face in effect at point P.
|
"Find face in effect at point P.
|
||||||
If overlays are to be considered \(see `hfy-optimisations'\) then this may
|
If overlays are to be considered (see `hfy-optimisations') then this may
|
||||||
return a defface style list of face properties instead of a face symbol."
|
return a `defface' style list of face properties instead of a face symbol."
|
||||||
;;(message "hfy-face-at");;DBUG
|
;;(message "hfy-face-at");;DBUG
|
||||||
;; Fix-me: clean up, remove face-name etc
|
;; Fix-me: clean up, remove face-name etc
|
||||||
;; not sure why we'd want to remove face-name? -- v
|
;; not sure why we'd want to remove face-name? -- v
|
||||||
|
|
@ -1385,7 +1385,7 @@ The plists are returned in descending priority order."
|
||||||
(push (cons 'default (hfy-face-to-css 'default)) style)))
|
(push (cons 'default (hfy-face-to-css 'default)) style)))
|
||||||
|
|
||||||
(defun hfy-fontified-p ()
|
(defun hfy-fontified-p ()
|
||||||
"`font-lock' doesn't like to say it\'s been fontified when in batch
|
"`font-lock' doesn't like to say it's been fontified when in batch
|
||||||
mode, but we want to know if we should fontify or raw copy, so in batch
|
mode, but we want to know if we should fontify or raw copy, so in batch
|
||||||
mode we check for non-default face properties. Otherwise we test
|
mode we check for non-default face properties. Otherwise we test
|
||||||
variable `font-lock-mode' and variable `font-lock-fontified' for truth."
|
variable `font-lock-mode' and variable `font-lock-fontified' for truth."
|
||||||
|
|
@ -1412,7 +1412,7 @@ variable `font-lock-mode' and variable `font-lock-fontified' for truth."
|
||||||
this function merges adjacent style blocks which are of the same value
|
this function merges adjacent style blocks which are of the same value
|
||||||
and are separated by nothing more interesting than whitespace.\n
|
and are separated by nothing more interesting than whitespace.\n
|
||||||
<span class=\"foo\">narf</span> <span class=\"foo\">brain</span>\n
|
<span class=\"foo\">narf</span> <span class=\"foo\">brain</span>\n
|
||||||
\(as interpreted from FACE-MAP\) would become:\n
|
\(as interpreted from FACE-MAP) would become:\n
|
||||||
<span class=\"foo\">narf brain</span>\n
|
<span class=\"foo\">narf brain</span>\n
|
||||||
Returns a modified copy of FACE-MAP."
|
Returns a modified copy of FACE-MAP."
|
||||||
(let ((tmp-map face-map)
|
(let ((tmp-map face-map)
|
||||||
|
|
@ -1485,8 +1485,8 @@ Returns a modified copy of FACE-MAP."
|
||||||
(if (hfy-opt 'merge-adjacent-tags) (hfy-merge-adjacent-spans map) map)))
|
(if (hfy-opt 'merge-adjacent-tags) (hfy-merge-adjacent-spans map) map)))
|
||||||
|
|
||||||
(defun hfy-buffer ()
|
(defun hfy-buffer ()
|
||||||
"Generate a buffer to hold the html output.
|
"Generate a buffer to hold the HTML output.
|
||||||
The filename of this buffer is derived from the source \(current\) buffer\'s
|
The filename of this buffer is derived from the source (current) buffer's
|
||||||
variable `buffer-file-name', if it is set, plus `hfy-extn'.
|
variable `buffer-file-name', if it is set, plus `hfy-extn'.
|
||||||
Otherwise a plausible filename is constructed from `default-directory',
|
Otherwise a plausible filename is constructed from `default-directory',
|
||||||
`buffer-name' and `hfy-extn'."
|
`buffer-name' and `hfy-extn'."
|
||||||
|
|
@ -1536,7 +1536,7 @@ Uses `hfy-link-style-fun' to do this."
|
||||||
;; tag all the dangerous characters we want to escape
|
;; tag all the dangerous characters we want to escape
|
||||||
;; (ie any "<> chars we _didn't_ put there explicitly for css markup)
|
;; (ie any "<> chars we _didn't_ put there explicitly for css markup)
|
||||||
(defun hfy-html-enkludge-buffer ()
|
(defun hfy-html-enkludge-buffer ()
|
||||||
"Mark dangerous [\"\<\>] characters with the \'hfy-quoteme property.\n
|
"Mark dangerous [\"<>] characters with the `hfy-quoteme' property.\n
|
||||||
See also `hfy-html-dekludge-buffer'."
|
See also `hfy-html-dekludge-buffer'."
|
||||||
;;(message "hfy-html-enkludge-buffer");;DBUG
|
;;(message "hfy-html-enkludge-buffer");;DBUG
|
||||||
(save-excursion
|
(save-excursion
|
||||||
|
|
@ -1546,7 +1546,7 @@ See also `hfy-html-dekludge-buffer'."
|
||||||
|
|
||||||
;; dangerous char -> &entity;
|
;; dangerous char -> &entity;
|
||||||
(defun hfy-html-quote (char-string)
|
(defun hfy-html-quote (char-string)
|
||||||
"Map CHAR-STRING to an html safe string (entity) if need be."
|
"Map CHAR-STRING to an HTML safe string (entity) if need be."
|
||||||
;;(message "hfy-html-quote");;DBUG
|
;;(message "hfy-html-quote");;DBUG
|
||||||
(or (cadr (assoc char-string hfy-html-quote-map)) char-string) )
|
(or (cadr (assoc char-string hfy-html-quote-map)) char-string) )
|
||||||
|
|
||||||
|
|
@ -1556,8 +1556,8 @@ See also `hfy-html-dekludge-buffer'."
|
||||||
;; enter any other text before we do this, we'd have to track another
|
;; enter any other text before we do this, we'd have to track another
|
||||||
;; map of offsets, which would be tedious...
|
;; map of offsets, which would be tedious...
|
||||||
(defun hfy-html-dekludge-buffer ()
|
(defun hfy-html-dekludge-buffer ()
|
||||||
"Transform all dangerous characters marked with the \'hfy-quoteme property
|
"Transform all dangerous characters marked with the `hfy-quoteme' property
|
||||||
using `hfy-html-quote'\n
|
using `hfy-html-quote'.\n
|
||||||
See also `hfy-html-enkludge-buffer'."
|
See also `hfy-html-enkludge-buffer'."
|
||||||
;;(message "hfy-html-dekludge-buffer");;DBUG
|
;;(message "hfy-html-dekludge-buffer");;DBUG
|
||||||
(save-excursion
|
(save-excursion
|
||||||
|
|
@ -1774,7 +1774,7 @@ FILE, if set, is the file name."
|
||||||
html-buffer))
|
html-buffer))
|
||||||
|
|
||||||
(defun hfy-force-fontification ()
|
(defun hfy-force-fontification ()
|
||||||
"Try to force font-locking even when it is optimised away."
|
"Try to force font-locking even when it is optimized away."
|
||||||
(run-hooks 'hfy-init-kludge-hook)
|
(run-hooks 'hfy-init-kludge-hook)
|
||||||
(eval-and-compile (require 'font-lock))
|
(eval-and-compile (require 'font-lock))
|
||||||
(if (boundp 'font-lock-cache-position)
|
(if (boundp 'font-lock-cache-position)
|
||||||
|
|
@ -1793,19 +1793,19 @@ FILE, if set, is the file name."
|
||||||
|
|
||||||
(defun htmlfontify-buffer (&optional srcdir file)
|
(defun htmlfontify-buffer (&optional srcdir file)
|
||||||
"Create a new buffer, named for the current buffer + a .html extension,
|
"Create a new buffer, named for the current buffer + a .html extension,
|
||||||
containing an inline css-stylesheet and formatted css-markup html
|
containing an inline CSS-stylesheet and formatted CSS-markup HTML
|
||||||
that reproduces the look of the current Emacs buffer as closely
|
that reproduces the look of the current Emacs buffer as closely
|
||||||
as possible.
|
as possible.
|
||||||
|
|
||||||
Dangerous characters in the existing buffer are turned into html
|
Dangerous characters in the existing buffer are turned into HTML
|
||||||
entities, so you should even be able to do html-within-html
|
entities, so you should even be able to do HTML-within-HTML
|
||||||
fontified display.
|
fontified display.
|
||||||
|
|
||||||
You should, however, note that random control or eight-bit
|
You should, however, note that random control or eight-bit
|
||||||
characters such as ^L (\x0c) or ¤ (\xa4) won't get mapped yet.
|
characters such as ^L (\x0c) or ¤ (\xa4) won't get mapped yet.
|
||||||
|
|
||||||
If the SRCDIR and FILE arguments are set, lookup etags derived
|
If the SRCDIR and FILE arguments are set, lookup etags derived
|
||||||
entries in the `hfy-tags-cache' and add html anchors and
|
entries in the `hfy-tags-cache' and add HTML anchors and
|
||||||
hyperlinks as appropriate."
|
hyperlinks as appropriate."
|
||||||
(interactive)
|
(interactive)
|
||||||
;; pick up the file name in case we didn't receive it
|
;; pick up the file name in case we didn't receive it
|
||||||
|
|
@ -1836,22 +1836,22 @@ Strips any leading \"./\" from each filename."
|
||||||
;; fed pretty carefully, so it should be Ok:
|
;; fed pretty carefully, so it should be Ok:
|
||||||
(defun hfy-dirname (file)
|
(defun hfy-dirname (file)
|
||||||
"Return everything preceding the last \"/\" from a relative filename FILE,
|
"Return everything preceding the last \"/\" from a relative filename FILE,
|
||||||
on the assumption that this will produce a relative directory name. Hardly
|
on the assumption that this will produce a relative directory name.
|
||||||
bombproof, but good enough in the context in which it is being used."
|
Hardly bombproof, but good enough in the context in which it is being used."
|
||||||
;;(message "hfy-dirname");;DBUG
|
;;(message "hfy-dirname");;DBUG
|
||||||
(let ((f (directory-file-name file)))
|
(let ((f (directory-file-name file)))
|
||||||
(and (string-match "^\\(.*\\)/" f) (match-string 1 f))))
|
(and (string-match "^\\(.*\\)/" f) (match-string 1 f))))
|
||||||
|
|
||||||
;; create a directory, cf mkdir -p
|
;; create a directory, cf mkdir -p
|
||||||
(defun hfy-make-directory (dir)
|
(defun hfy-make-directory (dir)
|
||||||
"Approx equivalent of mkdir -p DIR."
|
"Approx. equivalent of mkdir -p DIR."
|
||||||
;;(message "hfy-make-directory");;DBUG
|
;;(message "hfy-make-directory");;DBUG
|
||||||
(if (file-exists-p dir)
|
(if (file-exists-p dir)
|
||||||
(if (file-directory-p dir) t)
|
(if (file-directory-p dir) t)
|
||||||
(make-directory dir t)))
|
(make-directory dir t)))
|
||||||
|
|
||||||
(defun hfy-text-p (srcdir file)
|
(defun hfy-text-p (srcdir file)
|
||||||
"Is SRCDIR/FILE text? Uses `hfy-istext-command' to determine this."
|
"Is SRCDIR/FILE text? Uses `hfy-istext-command' to determine this."
|
||||||
(let* ((cmd (format hfy-istext-command (expand-file-name file srcdir)))
|
(let* ((cmd (format hfy-istext-command (expand-file-name file srcdir)))
|
||||||
(rsp (shell-command-to-string cmd)))
|
(rsp (shell-command-to-string cmd)))
|
||||||
(if (string-match "text" rsp) t nil)))
|
(if (string-match "text" rsp) t nil)))
|
||||||
|
|
@ -1903,7 +1903,7 @@ Looks up the tags cache in `hfy-tags-cache' using SRCDIR as the key."
|
||||||
|
|
||||||
;; mark the tags native to this file for anchors
|
;; mark the tags native to this file for anchors
|
||||||
(defun hfy-mark-tag-names (srcdir file)
|
(defun hfy-mark-tag-names (srcdir file)
|
||||||
"Mark tags in FILE (lookup SRCDIR in `hfy-tags-cache') with the \'hfy-anchor
|
"Mark tags in FILE (lookup SRCDIR in `hfy-tags-cache') with the `hfy-anchor'
|
||||||
property, with a value of \"tag.line-number\"."
|
property, with a value of \"tag.line-number\"."
|
||||||
;;(message "(hfy-mark-tag-names %s %s)" srcdir file);;DBUG
|
;;(message "(hfy-mark-tag-names %s %s)" srcdir file);;DBUG
|
||||||
(let ((cache-entry (assoc srcdir hfy-tags-cache))
|
(let ((cache-entry (assoc srcdir hfy-tags-cache))
|
||||||
|
|
@ -1925,7 +1925,7 @@ property, with a value of \"tag.line-number\"."
|
||||||
|
|
||||||
(defun hfy-relstub (file &optional start)
|
(defun hfy-relstub (file &optional start)
|
||||||
"Return a \"../\" stub of the appropriate length for the current source
|
"Return a \"../\" stub of the appropriate length for the current source
|
||||||
tree depth \(as determined from FILE \(a filename\)\).
|
tree depth, as determined from FILE (a filename).
|
||||||
START is the offset at which to start looking for the / character in FILE."
|
START is the offset at which to start looking for the / character in FILE."
|
||||||
;;(message "hfy-relstub");;DBUG
|
;;(message "hfy-relstub");;DBUG
|
||||||
(let ((c ""))
|
(let ((c ""))
|
||||||
|
|
@ -1933,8 +1933,8 @@ START is the offset at which to start looking for the / character in FILE."
|
||||||
(setq start (1+ start)) (setq c (concat c "../"))) c))
|
(setq start (1+ start)) (setq c (concat c "../"))) c))
|
||||||
|
|
||||||
(defun hfy-href-stub (this-file def-files tag)
|
(defun hfy-href-stub (this-file def-files tag)
|
||||||
"Return an href stub for a tag href i THIS-FILE:
|
"Return an href stub for a tag href in THIS-FILE.
|
||||||
If DEF-FILES \(list of files containing definitions for the tag in question\)
|
If DEF-FILES (list of files containing definitions for the tag in question)
|
||||||
contains only one entry, the href should link straight to that file.
|
contains only one entry, the href should link straight to that file.
|
||||||
Otherwise, the link should be to the index file.\n
|
Otherwise, the link should be to the index file.\n
|
||||||
We are not yet concerned with the file extensions/tag line number and so on at
|
We are not yet concerned with the file extensions/tag line number and so on at
|
||||||
|
|
@ -1942,7 +1942,7 @@ this point.\n
|
||||||
If `hfy-split-index' is set, and the href wil be to an index file rather than
|
If `hfy-split-index' is set, and the href wil be to an index file rather than
|
||||||
a source file, append a .X to `hfy-index-file', where X is the uppercased
|
a source file, append a .X to `hfy-index-file', where X is the uppercased
|
||||||
first character of TAG.\n
|
first character of TAG.\n
|
||||||
See also: `hfy-relstub', `hfy-index-file'`'."
|
See also `hfy-relstub', `hfy-index-file'."
|
||||||
;;(message "hfy-href-stub");;DBUG
|
;;(message "hfy-href-stub");;DBUG
|
||||||
;; FIXME: Why not use something like
|
;; FIXME: Why not use something like
|
||||||
;; (file-relative-name (if ...) (file-name-directory this-file)) ? --Stef
|
;; (file-relative-name (if ...) (file-name-directory this-file)) ? --Stef
|
||||||
|
|
@ -1957,7 +1957,7 @@ See also: `hfy-relstub', `hfy-index-file'`'."
|
||||||
THIS-FILE `hfy-link-extn' `hfy-extn' DEF-FILES TAG and TAG-MAP\n
|
THIS-FILE `hfy-link-extn' `hfy-extn' DEF-FILES TAG and TAG-MAP\n
|
||||||
THIS-FILE is the current source file
|
THIS-FILE is the current source file
|
||||||
DEF-FILES is a list of file containing possible link endpoints for TAG
|
DEF-FILES is a list of file containing possible link endpoints for TAG
|
||||||
TAG is the TAG in question
|
TAG is the tag in question
|
||||||
TAG-MAP is the entry in `hfy-tags-cache'."
|
TAG-MAP is the entry in `hfy-tags-cache'."
|
||||||
;;(message "hfy-href");;DBUG
|
;;(message "hfy-href");;DBUG
|
||||||
(concat
|
(concat
|
||||||
|
|
@ -1975,8 +1975,8 @@ word characters on either side."
|
||||||
;; mark all tags for hyperlinking, except the tags at
|
;; mark all tags for hyperlinking, except the tags at
|
||||||
;; their own points of definition, iyswim:
|
;; their own points of definition, iyswim:
|
||||||
(defun hfy-mark-tag-hrefs (srcdir file)
|
(defun hfy-mark-tag-hrefs (srcdir file)
|
||||||
"Mark href start points with the \'hfy-link prop \(value: href string\)\n
|
"Mark href start points with the `hfy-link' prop (value: href string).\n
|
||||||
Mark href end points with the \'hfy-endl prop \(value t\)\n
|
Mark href end points with the `hfy-endl' prop (value t).\n
|
||||||
Avoid overlapping links, and mark links in descending length of
|
Avoid overlapping links, and mark links in descending length of
|
||||||
tag name in order to prevent subtags from usurping supertags,
|
tag name in order to prevent subtags from usurping supertags,
|
||||||
\(eg \"term\" for \"terminal\").
|
\(eg \"term\" for \"terminal\").
|
||||||
|
|
@ -2134,7 +2134,7 @@ FILE is the specific file we are rendering."
|
||||||
`hfy-tags-cache' must already have an entry for SRCDIR for this to work.
|
`hfy-tags-cache' must already have an entry for SRCDIR for this to work.
|
||||||
`hfy-page-header', `hfy-page-footer', `hfy-link-extn' and `hfy-extn'
|
`hfy-page-header', `hfy-page-footer', `hfy-link-extn' and `hfy-extn'
|
||||||
all play a part here.\n
|
all play a part here.\n
|
||||||
If STUB is set, prepare an \(appropriately named\) index buffer
|
If STUB is set, prepare an (appropriately named) index buffer
|
||||||
specifically for entries beginning with STUB.\n
|
specifically for entries beginning with STUB.\n
|
||||||
If MAP is set, use that instead of `hfy-tags-cache'.
|
If MAP is set, use that instead of `hfy-tags-cache'.
|
||||||
FILENAME is the name of the file being indexed.
|
FILENAME is the name of the file being indexed.
|
||||||
|
|
@ -2184,7 +2184,7 @@ DSTDIR is the output directory, where files will be written."
|
||||||
index-buf) ))
|
index-buf) ))
|
||||||
|
|
||||||
(defun hfy-prepare-index (srcdir dstdir)
|
(defun hfy-prepare-index (srcdir dstdir)
|
||||||
"Return a list of index buffer\(s\), as determined by `hfy-split-index'.
|
"Return a list of index buffer(s), as determined by `hfy-split-index'.
|
||||||
SRCDIR and DSTDIR are the source and output directories respectively."
|
SRCDIR and DSTDIR are the source and output directories respectively."
|
||||||
(if (not hfy-split-index)
|
(if (not hfy-split-index)
|
||||||
(list (hfy-prepare-index-i srcdir dstdir hfy-index-file nil))
|
(list (hfy-prepare-index-i srcdir dstdir hfy-index-file nil))
|
||||||
|
|
@ -2207,12 +2207,11 @@ SRCDIR and DSTDIR are the source and output directories respectively."
|
||||||
index-list)) ))) cache-hash) ) index-list)))
|
index-list)) ))) cache-hash) ) index-list)))
|
||||||
|
|
||||||
(defun hfy-prepare-tag-map (srcdir dstdir)
|
(defun hfy-prepare-tag-map (srcdir dstdir)
|
||||||
"Prepare the counterpart\(s\) to the index buffer\(s\) - a list of buffers
|
"Prepare the counterpart(s) to the index buffer(s) - a list of buffers
|
||||||
with the same structure, but listing \( and linking to \) instances of tags
|
with the same structure, but listing (and linking to) instances of tags
|
||||||
\( as opposed to their definitions \).\n
|
\(as opposed to their definitions).\n
|
||||||
SRCDIR and DSTDIR are the source and output directories respectively.
|
SRCDIR and DSTDIR are the source and output directories respectively.
|
||||||
See: `hfy-prepare-index'
|
See also `hfy-prepare-index', `hfy-split-index'."
|
||||||
`hfy-split-index'."
|
|
||||||
(if (not hfy-split-index)
|
(if (not hfy-split-index)
|
||||||
(list (hfy-prepare-index-i srcdir
|
(list (hfy-prepare-index-i srcdir
|
||||||
dstdir
|
dstdir
|
||||||
|
|
@ -2242,7 +2241,7 @@ See: `hfy-prepare-index'
|
||||||
(defun hfy-subtract-maps (srcdir)
|
(defun hfy-subtract-maps (srcdir)
|
||||||
"Internal function - strips definitions of tags from the instance map.
|
"Internal function - strips definitions of tags from the instance map.
|
||||||
SRCDIR is the directory being \"published\".
|
SRCDIR is the directory being \"published\".
|
||||||
See: `hfy-tags-cache' and `hfy-tags-rmap'"
|
See also `hfy-tags-cache', `hfy-tags-rmap'."
|
||||||
(let ((new-list nil)
|
(let ((new-list nil)
|
||||||
(old-list nil)
|
(old-list nil)
|
||||||
(def-list nil)
|
(def-list nil)
|
||||||
|
|
@ -2262,7 +2261,7 @@ See: `hfy-tags-cache' and `hfy-tags-rmap'"
|
||||||
|
|
||||||
(defun htmlfontify-run-etags (srcdir)
|
(defun htmlfontify-run-etags (srcdir)
|
||||||
"Load the etags cache for SRCDIR.
|
"Load the etags cache for SRCDIR.
|
||||||
See `hfy-load-tags-cache'."
|
See also `hfy-load-tags-cache'."
|
||||||
(interactive "D source directory: ")
|
(interactive "D source directory: ")
|
||||||
(setq srcdir (directory-file-name srcdir))
|
(setq srcdir (directory-file-name srcdir))
|
||||||
(hfy-load-tags-cache srcdir))
|
(hfy-load-tags-cache srcdir))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue