Switch branches/tags
Nothing to show
Find file History
Latest commit 08457e1 Oct 16, 2018
Failed to load latest commit information.
src up Oct 2, 2018
Cargo.toml up Oct 5, 2018
README.md up Oct 16, 2018



Build Status

A command line tool to tangle code blocks in org file to source code file.

  • A faster way to tangle org-mode.

Note About Restriction

  • The use case is restricted to global tangle property-line
    • code block level tangle property-line is NOT supported
    • headline level tangle property-line is NOT supported

Check out https://github.com/OrgTangle for alternative org-tangle support.

Getting Start

To build the program, nightly rust toolchain is needed.

rustup is the tool to help programmers install rust toolchains.

Then do:

rustup install nightly
cargo +nightly install org-tangle --git https://github.com/parsing-tech/org-rs


    org-tangle [FLAGS] [PATH]...

    -r, --recursive    recursively traverse <DIR>
    -h, --help         Prints help information
    -V, --version      Prints version information

    <PATH>...    <PATH> can be <FILE> or <DIR>
                 ignore non unicode <PATH>
                 ignore non `.org` files
                 ignore `.org` files without tangle property


In file engine.org

  • Add tangle property-line
#+property: tangle lib.rs
  • The following code block will be tangled into lib.rs
    • where code blocks are marked by #+begin_src <lang> and #+end_src
#+begin_src rust
fn tangle (string: &str) -> Result <String, TangleError> {
    let mut result = String::new ();
    let mut lines = string.lines ();
    while let Some (line) = lines.next () {
        if block_begin_line_p (line) {
            tangle_collect (&mut result, &mut lines)?;
    Ok (result)
  • For a complete example, see this directory where engine.org is tangled to lib.rs

Related Project