Git Product home page Git Product logo

adoc-mode's People

Contributors

phillord-ncl avatar sensorflo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adoc-mode's Issues

Feature request - fold on titles

Is there any chance you can add support for folding? Let's say I have the following structure:

== Title 1

Here goes some text. And some more text.

== Title 2

More text. Who would have thought?

== Last title

The end!

The idea is then to position the cursor on "== Title 2", hit the shortcut and immediately the text following the title until the next title on the same level collapses/folds.

This will make editing large documents far easier. Thanks a lot.

Long footnotes not recognised

The highlighter doesn’t properly recognise long footnotes, even if they do not include multiple paragraphs. Excerpt from my document:

Dies nennt man die Methodenfootnote:[Passive
Fähigkeiten sind in der Objektorientierung ein Zeichen schlechten
Stils. Eine Methode »hochgehoben werden« würde als unpassend angesehen
werden.]. Im Gegensatz dazu zeugen die Attribute bloß vom
Zustand eines Objekts.

That there’s no space between the word "Methoden" and the "footnote:" macro is intentional. This is legal ASCIIDoc input and suppresses the annoying space between word and footnote. The highlighting still doesn’t work if one puts the space in, though.

Greetings
Marvin

Does not honor key sates on MacOSX

On MacOSX there is a key state definition (such as XCompose on X11). This is useful for accentuated characters (and many other unicode ones). For example:

  • Alt+e+e: é
  • Alt+e + SPACE: ´,
  • Alt+u+o: ö,
  • Alt+u + SPACE: ¨,
  • and so on.

This works fine will all emacs modes as long a you run that piece of lisp:

(eval-after-load 'ns-win
  '(progn
     (setq mac-command-modifier 'meta
       mac-option-modifier nil)))

Un fortunately in adoc-mode the output is like following:

  • Alt+e+e: ´é
  • Alt+e + SPACE: ´´,
  • Alt+u+o: ¨ö,
  • Alt+u + SPACE: ¨¨,
  • and so on.

Like if Alt+e is interpreted as Alt+e +SPACE + Alt+e.

For info I checked with the -Q switch when launching emacs, evaluating the above lisp snippet and loading git version of both adoc-mode.el and markup-faces.el.

I use "GNU Emacs 24.2.50.1 (x86_64-apple-darwin, NS apple-appkit-1187.00) of 2012-08-27".

Thank for your support.

Feature request - realign tables

org-mode has great support for automatically realigning tables - it'd be super if adoc-mode had it too.

Basically, if the table handling was exactly like org-mode that would be great!

5 tests are failing

Running the tests with "emacs -Q -batch -l adoc-mode-test.el -f ert-run-tests-batch-and-exit, I get:

starting phase `check'
Running 44 tests (2019-11-01 15:45:45+0000)
   passed   1/44  adoctest-test-adjust-title-del
   passed   2/44  adoctest-test-anchors
   passed   3/44  adoctest-test-attribute-list
   passed   4/44  adoctest-test-block-macro
   passed   5/44  adoctest-test-comments
   passed   6/44  adoctest-test-delimited-blocks-simple
   passed   7/44  adoctest-test-demote-title
   passed   8/44  adoctest-test-footnoterefs
   passed   9/44  adoctest-test-footnotes
Mark set
Mark set
Mark set
   passed  10/44  adoctest-test-goto-ref-label
   passed  11/44  adoctest-test-images
   passed  12/44  adoctest-test-indent-by-example
   passed  13/44  adoctest-test-inline-macros
   passed  14/44  adoctest-test-inline-subst-boundaries
   passed  15/44  adoctest-test-lists-medium
   passed  16/44  adoctest-test-lists-simple
   passed  17/44  adoctest-test-make-two-line-title-underline
   passed  18/44  adoctest-test-meta-face-cleanup
   passed  19/44  adoctest-test-open-block
   passed  20/44  adoctest-test-promote-title
   passed  21/44  adoctest-test-quotes-medium
   passed  22/44  adoctest-test-quotes-medium-2
   passed  23/44  adoctest-test-quotes-medium-3
   passed  24/44  adoctest-test-quotes-medium-4
   passed  25/44  adoctest-test-quotes-simple
   passed  26/44  adoctest-test-references
   passed  27/44  adoctest-test-repeat-string
Test adoctest-test-tempo-delimited-blocks backtrace:
  signal(ert-test-failed (((should (string-equal (buffer-substring (po
  ert-fail(((should (string-equal (buffer-substring (point-min) (point
  (if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
  (let (form-description-16) (if (unwind-protect (setq value-14 (apply
  (let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
  (let* ((fn-12 (function string-equal)) (args-13 (condition-case err 
  (progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
  (unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
  (let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
  adoctest-trans-inner("lorem\nipsum\ndolor" "lorem\n/////////////////
  (while pos-new-list (adoctest-trans-inner new-original-text expected
  (let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
  (if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
  adoctest-trans("lorem\n<ipsum>\ndolor" "lorem\n/////////////////////
  (let ((del-line (if (integerp del) (make-string 50 del) del))) (adoc
  adoctest-delimited-block(47 (tempo-template-adoc-delimited-block-com
  (lambda nil (adoctest-delimited-block 47 (quote (tempo-template-adoc
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name adoctest-test-tempo-delimited-blocks 
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
  command-line()
  normal-top-level()
Test adoctest-test-tempo-delimited-blocks condition:
    (ert-test-failed
     ((should
       (string-equal
	(buffer-substring ... ...)
	expected-text))
      :form
      (string-equal "lorem
//////////////////////////////////////////////////

//////////////////////////////////////////////////
ipsum
dolor" "lorem
//////////////////////////////////////////////////
ipsum
//////////////////////////////////////////////////
dolor")
      :value nil))
   FAILED  28/44  adoctest-test-tempo-delimited-blocks
   passed  29/44  adoctest-test-tempo-formatting-misc
   passed  30/44  adoctest-test-tempo-lists
Test adoctest-test-tempo-macros backtrace:
  signal(ert-test-failed (((should (string-equal (buffer-substring (po
  ert-fail(((should (string-equal (buffer-substring (point-min) (point
  (if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
  (let (form-description-16) (if (unwind-protect (setq value-14 (apply
  (let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
  (let* ((fn-12 (function string-equal)) (args-13 (condition-case err 
  (progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
  (unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
  (let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
  adoctest-trans-inner("see here for" "see http://foo.com[here] for" (
  (while pos-new-list (adoctest-trans-inner new-original-text expected
  (let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
  (if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
  adoctest-trans("see <here> for" "see http://foo.com[here] for" (temp
  (lambda nil (adoctest-trans "" "http://foo.com[]" (quote (tempo-temp
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name adoctest-test-tempo-macros :documenta
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
  command-line()
  normal-top-level()
Test adoctest-test-tempo-macros condition:
    (ert-test-failed
     ((should
       (string-equal
	(buffer-substring ... ...)
	expected-text))
      :form
      (string-equal "see http://foo.com[]here for" "see http://foo.com[here] for")
      :value nil))
   FAILED  31/44  adoctest-test-tempo-macros
Test adoctest-test-tempo-paragraphs backtrace:
  signal(ert-test-failed (((should (string-equal (buffer-substring (po
  ert-fail(((should (string-equal (buffer-substring (point-min) (point
  (if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
  (let (form-description-16) (if (unwind-protect (setq value-14 (apply
  (let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
  (let* ((fn-12 (function string-equal)) (args-13 (condition-case err 
  (progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
  (unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
  (let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
  adoctest-trans-inner("loremipsum" "lorem\n  ipsum" (tempo-template-a
  (while pos-new-list (adoctest-trans-inner new-original-text expected
  (let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
  (if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
  adoctest-trans("lorem<ipsum>" "lorem\n  ipsum" (tempo-template-adoc-
  (lambda nil (adoctest-trans "" "  " (quote (tempo-template-adoc-lite
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name adoctest-test-tempo-paragraphs :docum
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
  command-line()
  normal-top-level()
Test adoctest-test-tempo-paragraphs condition:
    (ert-test-failed
     ((should
       (string-equal
	(buffer-substring ... ...)
	expected-text))
      :form
      (string-equal "lorem
  
ipsum" "lorem
  ipsum")
      :value nil))
   FAILED  32/44  adoctest-test-tempo-paragraphs
Test adoctest-test-tempo-passthroug-macros backtrace:
  signal(ert-test-failed (((should (string-equal (buffer-substring (po
  ert-fail(((should (string-equal (buffer-substring (point-min) (point
  (if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
  (let (form-description-16) (if (unwind-protect (setq value-14 (apply
  (let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
  (let* ((fn-12 (function string-equal)) (args-13 (condition-case err 
  (progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
  (unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
  (let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
  adoctest-trans-inner("lorem ipsum dolor" "lorem pass:[ipsum] dolor" 
  (while pos-new-list (adoctest-trans-inner new-original-text expected
  (let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
  (if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
  adoctest-trans("lorem <ipsum> dolor" "lorem pass:[ipsum] dolor" (tem
  (lambda nil (adoctest-trans "" "pass:[]" (quote (tempo-template-adoc
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name adoctest-test-tempo-passthroug-macros
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
  command-line()
  normal-top-level()
Test adoctest-test-tempo-passthroug-macros condition:
    (ert-test-failed
     ((should
       (string-equal
	(buffer-substring ... ...)
	expected-text))
      :form
      (string-equal "lorem pass:[]ipsum dolor" "lorem pass:[ipsum] dolor")
      :value nil))
   FAILED  33/44  adoctest-test-tempo-passthroug-macros
Test adoctest-test-tempo-quotes backtrace:
  signal(ert-test-failed (((should (string-equal (buffer-substring (po
  ert-fail(((should (string-equal (buffer-substring (point-min) (point
  (if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
  (let (form-description-16) (if (unwind-protect (setq value-14 (apply
  (let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
  (let* ((fn-12 (function string-equal)) (args-13 (condition-case err 
  (progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
  (unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
  (let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
  adoctest-trans-inner("lorem ipsum dolor" "lorem _ipsum_ dolor" (temp
  (while pos-new-list (adoctest-trans-inner new-original-text expected
  (let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
  (if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
  adoctest-trans("lorem <ipsum> dolor" "lorem _ipsum_ dolor" (tempo-te
  adoctest-quotes("_" "_" (tempo-template-adoc-emphasis))
  (lambda nil (adoctest-quotes "_" "_" (quote (tempo-template-adoc-emp
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name adoctest-test-tempo-quotes :documenta
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit()
  command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
  command-line()
  normal-top-level()
Test adoctest-test-tempo-quotes condition:
    (ert-test-failed
     ((should
       (string-equal
	(buffer-substring ... ...)
	expected-text))
      :form
      (string-equal "lorem __ipsum dolor" "lorem _ipsum_ dolor")
      :value nil))
   FAILED  34/44  adoctest-test-tempo-quotes
   passed  35/44  adoctest-test-tempo-title
   passed  36/44  adoctest-test-titles-simple-block-title
   passed  37/44  adoctest-test-titles-simple-one-line-before
   passed  38/44  adoctest-test-titles-simple-one-line-enclosed
   passed  39/44  adoctest-test-titles-simple-two-line
   passed  40/44  adoctest-test-toggle-title-type
   passed  41/44  adoctest-test-url
   passed  42/44  adoctest-test-url-enclosing-quote
   passed  43/44  adoctest-test-xref-at-point-1
   passed  44/44  adoctest-test-xref-at-point-2

Ran 44 tests, 39 results as expected, 5 unexpected (2019-11-01 15:45:46+0000)

5 unexpected results:
   FAILED  adoctest-test-tempo-delimited-blocks
   FAILED  adoctest-test-tempo-macros
   FAILED  adoctest-test-tempo-paragraphs
   FAILED  adoctest-test-tempo-passthroug-macros
   FAILED  adoctest-test-tempo-quotes

command "emacs" "-Q" "-batch" "-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-and-exit" failed with status 1

compilation fails: Symbol's function definition is void: adoc-re-verbatim-paragraph-sequence

When running M-x package-install adoc-mode, I get the following error message:

Compiling no file at Sat Jun 11 20:13:16 2016
Leaving directory `/home/michael/.emacs.d/elpa/adoc-mode-0.6.2'

Compiling file /home/michael/.emacs.d/elpa/adoc-mode-0.6.2/adoc-mode-pkg.el at Sat Jun 11 20:13:16 2016
Entering directory `/home/michael/.emacs.d/elpa/adoc-mode-0.6.2/'

Compiling file /home/michael/.emacs.d/elpa/adoc-mode-0.6.2/adoc-mode.el at Sat Jun 11 20:13:16 2016
adoc-mode.el:177:1:Warning: cl package required at runtime
adoc-mode.el:1694:1:Error: Symbol's function definition is void: adoc-re-verbatim-paragraph-sequence

This is with GNU Emacs 24.5.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.29) of 2016-05-26 on machine.

What am I doing wrong?

adoc-mode with colouring only, not fontlock

It the gist of asciidoc and asciidoctor I would prefer less distraction while writing. For me
changed (enlarged, other) fonts are distracting, in particular font-size.

I would welcome a variant or a switch which would allow me to turn off font locking.

Disable changing font size

It would be nice to be able to disable changing the font size and only keep the coloring and styling. A good example is the default emacs .md highlighter.

Marmalade

Please consider putting adoc-mode and markup-faces on marmalade. It is easy to do so, and would make installation tons easier, especially given the dependency.

autoload command in installation instructions

The autoload command in the installation instructions on the wiki should be as follows:

(autoload 'adoc-mode "adoc-mode" nil t)

Note the third and fourth arguments, which are missing in the instructions that are currently in the wiki.

Changing colours

The colours of adoc mode when using Emacs light on dark do not really work. The basic text colour is fine as is the section heads (though the section fonts are too big relative to the text size). But listing etc. annotations being very dark grey and the small red footnote font makes these things completely unreadable.

What is the official way of changing the colours on a per user basis?

adoc prefix clashes with auto-document.el

Hi

I would lie to inform you of an unfortunate 'namespace' clash. The adoc prefix is also used by auto-document.el. Please consider using ascii-doc- as the prefix for adoc-mode. Maybe even renaming adoc-mode to ascii-doc-mode. If however you decide to keep using the adoc-prefix, consider adding a disclaimer to the readme (when it is written).

status of the package?

Hello, just wonder what is the status of this package?

It's not updated for quite some time and PRs are also not handled?

Vim's support is in a little better shape and I'd not like to go to Electron-based editors. Any hint what to use for writing a lot of AsciiDoc(tor) markup?

Fonts not correctly displayed

I don't know if it is a normal behaviour but some fonts looks to small for me:

screenshot

Links, quoted text, comments are all displayed with tiny fonts.

Allow folding of footnotes

Hi,

AUCTeX has a nice feature they call "folding" that basically hides stuff disturbing the main text until you place point on it. This applies mainly to LaTeX footnotes, which are hidden behind a placeholder until you move point over that one; in that case, it expands and you can edit the footnote. If you move point off the footnote, the content is hidden again and all that remains visible is the main paragraph’s text.

ASCIIDoc’s footnotes are inlined in a similar way that make following the main text difficult, this, it’d be nice if footnotes automatically collapsed like they do in AUCTeX.

Greetings
Marvin

installation issue

when I run M-x adoc-mode I get:

Symbol's value as variable is void: <!DOCTYPE

This is on RHEL7 running:

GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.22.10)

There is no mention of DOCTYPE in the mode file itself. Its not immediately obvious what went wrong or where to start debugging this.

broken syntax [,] causes emacs to hang

The string [,] appears to cause adoc-mode to hang. The syntax [source,lang] is used to allow syntax highlighting of code blocks. Another user may incorrectly leave out the lang. If this happens adoc-mode will hang indefinitely parsing the file.

adoc-mode version: 20130917.0

Reproduction steps:

  1. create an ascii-doc document or switch to adoc mode in an existing buffer.
  2. type the characters [,]

Observed behavior:
Emacs hangs. This is sometimes recoverable by repeatedly hitting C-g and backspace to delete the string.

Error when opening file with neotree

Whenever I open an AsciiDoc-file with neotree, I get this error and adoc-mode is not invoked.

File mode specification error: (wrong-type-argument symbolp #[(&optional arg) \301 \210\302�\303\304#\207 [arg neo-global--select-window neo-buffer--execute neo-open-file #[(&rest _) \300\207 [nil] 1]] 4 nil P])

I don't have this problem with any other file types and opening the same AsciiDoc-files with C-x C-f works as expected. If I disable adoc-mode, the error does not occur.

This is how I load adoc-mode:

(use-package adoc-mode
  :mode
  ("\\.adoc\\'" . adoc-mode)
  :custom-face
  […]
  :hook
  (adoc-mode . visual-line-mode))

Error while compiling from elpa

I am probably missing something ?

Compiling file /home/.emacs.d/elpa/adoc-mode-20150102.835/adoc-mode.el at Mon Mar  2 23:38:14 2015
adoc-mode.el:178:1:Warning: cl package required at runtime
adoc-mode.el:1688:1:Error: Symbol's function definition is void: adoc-re-verbatim-paragraph-sequence

I am using GNU Emacs 24.4.1

Cheers

Promote and demote

I'm a little confused by your word choice for adoc-promote and adoc-denote.

First, the opposite of promote is demote, not denote. Denote means to indicate.

Second, promote in this sense means to increase in rank. Shouldn't that take a heading and make it a more important heading? Right now, it turns a heading into a subheading.

Minor issues, I know, but I thought I'd open an issue anyway. Thanks for adoc-mode!

Highlighting of footnote text breaks if comma is present

Code:

footnote:[Some text, probably containing a comma. Second sentence.]

Inside a footnote text, after a comma font-face returns to normal text mode (not small and in different color anymore). I believe this is because comma is a separator of attributes inside macros, but can we have a special case for footnotes? I often have footnotes a lot larger than single simple sentence, not broken by comma.

Error running timer `jit-lock-stealth-fontify': (void-variable adoc-reserved)

I get this error repeatedly when using adoc-mode. It wasn't clear to me what that variable was meant to be, so it wasn't clear whether the warning indicated that the variable was supposed to be set locally or not, but I fixed the issue in my local copy by appending:

(defvar adoc-reserved nil)

To the list of devars.

GNU Emacs 24.4.1 in Debian 8. I can test patches or provide any additional info if you need.

Add source code block interpretation

The Asciidoc(tor) syntax enables the use of source code blocks.

Currently the content is treated as a literal block, with faulty font-style rendering, and without syntax highlighting or more advanced code re-use options. More advanced features could include the evaluation of a code block.

Example from the Asciidoc manual (ref):

[source,python]
-------------------------------------------
\include::test.py[]
-------------------------------------------

Example from the Asciidoctor manual (ref). Notice the shorter block separators.

[[app-listing]] 
[source,ruby]  
.app.rb 
---- 
require 'sinatra'

get '/hi' do
  "Hello World!"
end
----

In the atom-language-asciidoc package the vastness of language support has been tackled by using a generator script combined with a language definition to automatically generate the needed syntax parsing. This then generates the needed static grammar for the different code languages.

As the parsing in ELisp is done differently, I would assume the implementation itself could be more straightforward. Maybe some hints can be derived from org-mode options, maybe regarding the babel literal programming extension.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.