[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ANN] lisp/ob-tangle-sync.el
From: |
Mehmet Tekman |
Subject: |
Re: [ANN] lisp/ob-tangle-sync.el |
Date: |
Tue, 09 May 2023 16:03:03 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Ihor Radchenko <yantar92@posteo.net> writes:
> Yes. See `org-babel-common-header-args-w-values'. In particular, take a
> look at (results ...).
Thanks, it took me some time to get my head around how to use this.
> I now ported a bit of documentation from my refactor branch.
> See https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=f268819d1
I'm having some problems getting:
`:tangle <tangle/yes/no/<filename>> [import/export/both/skip]'
to work nicely with the existing framework. The main issue lies in the
`:any` keyword in `org-babel-common-header-args-w-values' for the tangle
entry making it difficult to determine where one exclusionary group
begins and where the other ends.
e.g.
(defconst org-babel-common-header-args-w-values
...
(tangle . ((tangle yes no :any)
(import export skip sync)))
...
)
If I remove the :any keyword, these two groups work with the existing
framework in `org-babel-merge-params', but this would then mean that the
first tangle argument can't just be a filename string. I can get around
it by changing `:any' to `file' and then letting users describe their
tangle headers via e.g. `:tangle file import file: /some/file' but this
would be a breaking change.
In the meantime I put together a hacky solution that parses the tangle
header independently (`org-babel--handle-tangle-args') with the aim that
the first argument should ideally define a tangle filename action and
the second argument should ideally define a tangle sync action.
Please see the attached minor patch (diff) and a toy org example file.
001_exlusive_groups.patch
Description: Exclusive values for TANGLE header arguments added to the `org-babel-common-header-args-w-values' constant, along with a dedicated function `org-babel--handle-tangle-args' which parses it to conform to a `:tangle <filename action> <sync action>' format.
toy2.org
Description: Toy example file
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/02
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/03
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/03
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/03
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/03
- Message not available
- Message not available
- Message not available
- Re: [ANN] lisp/ob-tangle-sync.el,
Mehmet Tekman <=
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/10
- Re: [ANN] lisp/ob-tangle-sync.el, mtekman89, 2023/05/10
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/10
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/10
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/12
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/16
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/16
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/17
- Re: [ANN] lisp/ob-tangle-sync.el, Ihor Radchenko, 2023/05/18
- Re: [ANN] lisp/ob-tangle-sync.el, Mehmet Tekman, 2023/05/19