This commit is contained in:
Carsten Dominik 2008-05-06 21:18:40 +02:00
parent b928ce51f8
commit 5d675ca8bd
2 changed files with 40 additions and 3 deletions

View File

@ -7301,8 +7301,6 @@ All lines between these markers are exported literally
#+END_LaTeX
@end example
@node Sectioning structure, , Quoting LaTeX code, LaTeX export
@subsection Sectioning structure
@cindex LaTeX class

View File

@ -7579,6 +7579,38 @@ This function can be used in a hook."
"ORGTBL" "HTML:" "LaTeX:" "BEGIN:" "END:" "TBLFM"
"BEGIN_EXAMPLE" "END_EXAMPLE"))
(defcustom org-structure-template-alist
'(
("s" "#+begin_src ?\n\n#+end_src" "#+<src lang=\"?\">\n\n</src>")
("e" "#+begin_example\n?\n#+end_example" "<example>\n?\n</example>")
("q" "#+begin_quote\n?\n#+end_quote" "<quote>\n?\n</quote>")
("v" "#+begin_verse\n?\n#+end_verse" "<verse>\n?\n</verse>")
("l" "#+begin_latex\n?\n#+end_latex" "<literal style=\"latex\">\n?\n</literal>")
("L" "#+latex: " "<literal style=\"latex\">?</literal>")
("h" "#+begin_html\n?\n#+end_html" "<literal style=\"latex\">\n?\n</literal>")
("H" "#+html: " "<literal style=\"latex\">?</literal>")
("a" "#+begin_ascii\n?\n#+end_ascii")
("A" "#+ascii: ")
("i" "#+include: " "<include file=\"?\">")
)
"FIXME"
:group 'org ;?????????????????
:type 'sexp)
(defun org-complete-expand-structure-template (start cell)
(let ((rpl (cdr cell)))
(delete-region start (point))
(when (string-match "\\`#\\+" rpl)
(cond
((bolp))
((not (string-match "\\S-" (buffer-substring (point-at-bol) (point))))
(delete-region (point-at-bol) (point)))
(t (newline))))
(setq start (point))
(insert rpl)
(if (re-search-backward "\\?" start t) (delete-char 1))))
(defun org-complete (&optional arg)
"Perform completion on word at point.
At the beginning of a headline, this completes TODO keywords as given in
@ -7593,7 +7625,8 @@ At all other locations, this simply calls the value of
(interactive "P")
(org-without-partial-completion
(catch 'exit
(let* ((end (point))
(let* ((a nil)
(end (point))
(beg1 (save-excursion
(skip-chars-backward (org-re "[:alnum:]_@"))
(point)))
@ -7602,6 +7635,12 @@ At all other locations, this simply calls the value of
(point)))
(confirm (lambda (x) (stringp (car x))))
(searchhead (equal (char-before beg) ?*))
(struct
(when (and (equal (char-before beg1) ?.)
(setq a (assoc (buffer-substring beg1 (point))
org-structure-template-alist)))
(org-complete-expand-structure-template (1- beg1) a)
(throw 'exit t)))
(tag (and (equal (char-before beg1) ?:)
(equal (char-after (point-at-bol)) ?*)))
(prop (and (equal (char-before beg1) ?:)