forked from nvim-neorg/norg-specs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1.0-semantics.norg
More file actions
54 lines (48 loc) · 1.6 KB
/
1.0-semantics.norg
File metadata and controls
54 lines (48 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@document.meta
title: 1.0-semantics
description:
authors: vhyrro
categories:
created: 2022-09-10
version: 0.0.13
@end
- ( ) Document stdlib macros/carryover tags/ranged tags
- ( ) Describe how tags are evaluated
- ( ) Document Norg's special NIP language used to manipulate the document with macros.
- ( ) Document inbuilt attached modifier extensions and their behaviours
Table syntax:
- ( ) New motions: `>`, `v`, `^`, `<`
- ( ) Floor motion (go fully left and down): `_`
- ( ) Ceiling motion (go fully up and right): `/`
- ( ) Root of table (A1): `.`
- ( ) Allow the combination of motions with numerical values (`13>`/`2_`)
- ( ) Allow underflowing via `<` (B1 -> A3 if A has 3 occupied cells)
- ::
Example:
@code norg
: . : Char
: > : Name/Type
: > : Categories
: _ : `*`
: > : Headings
: > : structural, nestable
: _ : `-`
: . : Char
: v : `*`
: v : `-`
: v :
: / : Name/Type
: v : Headings
@end
---
* Introduction
This file contains a formal description of the semantics of the Norg file format. For an
introduction of what the Norg file format is, it is recommended that you read the
[specification] first. When writing a syntax parser, it's not necessary for
you to understand exactly how Norg is intended to behave - however, when writing a more
sophisticated tool like {https://github.com/nvim-neorg/neorg}[neorg], understanding how various
tags and elements behave is quite crucial. This document also covers the {* NIP} language, which
is a functional Norg DSL specifically used to manipulate and query information from any document.
* ( ) NIP
===
%| vim: set tw=100 :|%