Browse Source

Trim to the core Prosidy library, clean up the API

master
Alex Feldman-Crough 2 years ago
parent
commit
88aa709690
  1. 4
      .envrc
  2. 3
      .gitignore
  3. 18
      .vscode/launch.json
  4. 1
      .vscode/settings.json
  5. 25
      .vscode/tasks.json
  6. 16
      JenkinsFile
  7. 15
      bin/compose
  8. 39
      bin/hie-bios-setup
  9. 28
      bin/m
  10. 23
      bin/mkenv
  11. 0
      brittany.yaml
  12. 8
      cabal.project
  13. 581
      data/golden/comment/output.json
  14. 10
      data/golden/empty-document/output.json
  15. 189
      data/golden/gamut/output.json
  16. 91
      data/golden/invalid-utf8/output.json
  17. 62
      data/golden/line-break/output.json
  18. 41
      data/golden/shebang/output.json
  19. 77
      doc/index.pro
  20. 15
      doc/overview.pro
  21. 58
      doc/res/caution.svg
  22. 54
      doc/res/important.svg
  23. 56
      doc/res/info.svg
  24. 554
      doc/res/manual.css
  25. 79
      doc/res/manual.js
  26. 233
      doc/res/nord.css
  27. 58
      doc/res/tip.svg
  28. 259
      doc/specification.pro
  29. 7
      hie.yaml
  30. 125
      kate/prosidy.xml
  31. 52
      nix/default.nix
  32. 25
      nix/nixpkgs.nix
  33. 270
      prosidy.cabal
  34. 13
      src/Prosidy.hs
  35. 11
      src/Prosidy/Optics.hs
  36. 115
      src/Prosidy/Optics/Internal.hs
  37. 78
      src/Prosidy/Optics/Source.hs
  38. 183
      src/Prosidy/Optics/Types.hs
  39. 53
      src/Prosidy/Parse.hs
  40. 283
      src/Prosidy/Source.hs
  41. 306
      src/Prosidy/Types.hs
  42. 45
      src/Prosidy/Types/Assoc.hs
  43. 142
      src/Prosidy/Types/Key.hs
  44. 90
      src/Prosidy/Types/Series.hs
  45. 56
      src/Prosidy/Types/Set.hs
  46. 145
      src/prosidy-internal/Prosidy/Internal/JSON.hs
  47. 99
      src/prosidy-internal/Prosidy/Internal/Optics.hs
  48. 142
      src/prosidy-manual/Prosidy/Manual.hs
  49. 406
      src/prosidy-manual/Prosidy/Manual/Compile.hs
  50. 85
      src/prosidy-manual/Prosidy/Manual/Highlight.hs
  51. 127
      src/prosidy-manual/Prosidy/Manual/Monad.hs
  52. 44
      src/prosidy-manual/Prosidy/Manual/Opts.hs
  53. 60
      src/prosidy-manual/Prosidy/Manual/Slug.hs
  54. 126
      src/prosidy-manual/Prosidy/Manual/TableOfContents.hs
  55. 28
      src/prosidy-manual/Prosidy/Manual/Version.hs
  56. 323
      src/prosidy-markup/Prosidy/Markup.hs
  57. 8
      src/prosidy/Prosidy.hs
  58. 209
      src/prosidy/Prosidy/Source.hs
  59. 598
      src/prosidy/Prosidy/Types.hs
  60. 223
      src/prosidyc/Prosidy/Compile.hs
  61. 310
      src/prosidyc/Prosidy/Compile/Internal/Compile.hs
  62. 238
      src/prosidyc/Prosidy/Compile/Internal/Error.hs
  63. 217
      src/prosidyc/Prosidy/Compile/Internal/Eval.hs
  64. 76
      src/prosidyc/Prosidy/Compile/Internal/Info.hs
  65. 90
      src/prosidyc/Prosidy/Compile/Internal/Spec.hs
  66. 55
      src/prosidyc/Prosidy/Compile/Internal/Util.hs
  67. 15
      test/Prosidy/Test.hs
  68. 4
      test/Prosidy/Test/Parse.hs
  69. 120
      test/Prosidy/Test/Source.hs
  70. 78
      test/Prosidy/Test/Types.hs
  71. 6
      vim/README.md
  72. 1
      vim/ftdetect/prosidy.vim
  73. 13
      vim/ftplugin/prosidy.vim
  74. 153
      vim/syntax/prosidy.vim
  75. 9
      vscode/CHANGELOG.md
  76. 25
      vscode/language-configuration.json
  77. 25
      vscode/package.json
  78. 190
      vscode/syntaxes/prosidy.tmLanguage.json

4
.envrc

@ -1,4 +0,0 @@
PATH_add bin
PATH_add .out/bin
PATH_add .env/bin
export NIX_PATH="nixpkgs=$PWD/nix/nixpkgs.nix"

3
.gitignore

@ -1,8 +1,5 @@
.stack-work/
/.env
dist/
dist-newstyle/
/cabal.project.local
/.out/
/.prosidy-manual/
*~

18
.vscode/launch.json

@ -1,18 +0,0 @@
// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}/vscode"
]
}
]
}

1
.vscode/settings.json

@ -1,6 +1,5 @@
{
"files.exclude": {
".out/**": true,
"dist/**": true,
"dist-newstyle/**": true,
".ghc.environment.*": true,

25
.vscode/tasks.json

@ -1,25 +0,0 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build everything",
"type": "shell",
"command": "./bin/m",
"args": ["build", "all"],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Run tests",
"type": "shell",
"command": "./bin/m",
"args": ["test", "all"],
"group": {
"kind": "test",
"isDefault": true
}
}
]
}

16
JenkinsFile

@ -0,0 +1,16 @@
pipeline {
agent {
docker {
image 'utdemir/ghc-musl:v4-integer-simple-ghc881'
}
}
stages {
stage('build') {
steps {
sh 'cabal v2-build'
sh 'cabal v2-test'
}
}
}
}

15
bin/compose

@ -1,15 +0,0 @@
#!/bin/bash
set -euo pipefail
cd "$(git rev-parse --show-toplevel)"
source ./bin/mkenv
mkdir -p .out/doc
warp --docroot .out/doc --host 127.0.0.1 &
trap "kill $!" EXIT
fswatch --recursive --one-per-batch --event Created --event Updated ./doc |\
while read -r event
do
echo "Triggering update (event: ${event})" >&2
m v2-run prosidy-manual || true
done

39
bin/hie-bios-setup

@ -1,39 +0,0 @@
#!/bin/bash
set -eu
cd "$(git rev-parse --show-toplevel)"
./bin/mkenv
HIE_BIOS_OUTPUT="${HIE_BIOS_OUTPUT:-/dev/fd/1}"
function write
{
cat >> "$HIE_BIOS_OUTPUT"
}
if [ -L .env ] 2>&1
then
dbpath="$(realpath "$(find -L .env/lib -type d -name package.conf.d)")"
write <<EOF
-clear-package-db
-package-db=$dbpath
EOF
else
version="$(ghc --numeric-version)"
write <<EOF
-package-db
$HOME/.cabal/store/ghc-${version}/package.db
EOF
fi
write <<EOF
-Wall
-Wno-name-shadowing
-i
-ibuild
-itest
EOF
for path in src/*
do
echo "-i${path}" >> "$HIE_BIOS_OUTPUT"
done

28
bin/m

@ -1,28 +0,0 @@
#!/bin/bash
set -eu
cd "$(git rev-parse --show-toplevel)"
source ./bin/mkenv
ghc_version="$(ghc --numeric-version)"
cabal_opts=(
--offline
--builddir="$PWD/.out/cabal"
--package-db=clear
--package-db="$PWD/.env/lib/ghc-${ghc_version}/package.conf.d"
)
if [ "$#" -eq 0 ]
then
set - build all
elif [[ "${1:-}" = *install ]]
then
cabal_opts+=( --installdir="$PWD/.out/bin" )
fi
if [ -n "${JENKINS_URL:-}" ]
then
cabal_opts+=( --flags='+fatal-warnings' )
fi
exec cabal "${cabal_opts[@]}" "$@"

23
bin/mkenv

@ -1,23 +0,0 @@
#!/bin/bash
[ -z "${_MKENV:-}" ] || return 0
command -v nix >/dev/null 2>&1 || return 0
[ -n "${DIRENV_DIR:-}" ] || eval "$(direnv export bash)"
function setup_nix
{
local nix_substituters=(
'https://cache.nixos.org'
'https://static-haskell-nix.cachix.org'
)
local nix_keys=(
'cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY='
'static-haskell-nix.cachix.org-1:Q17HawmAwaM1/BfIxaEDKAxwTOyRVhPG5Ji9K3+FvUU='
)
nix-build ./nix/default.nix -A env \
--substituters "$nix_substituters" \
--trusted-public-keys "$nix_keys" \
--out-link .env
}
setup_nix
export _MKENV=1

0
.brittany.yaml → brittany.yaml

8
cabal.project

@ -1,4 +1,4 @@
packages: prosidy.cabal
optimization: True
split-sections: True
packages: prosidy.cabal
optimization: True
split-sections: True
test-show-details: direct

581
data/golden/comment/output.json

@ -1,317 +1,312 @@
{
"content": [
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {},
"properties": []
}
},
"subtype": "block",
"type": "tag"
},
"content": [
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {},
"properties": {}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {},
"properties": {}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {},
"properties": {}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": ""
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": ""
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": ""
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [
{
"value": [
{
"value": "Inner contents",
"type": "text"
}
],
"type": "paragraph"
},
{
"value": [
{
"value": "Another paragraph",
"type": "text"
}
],
"type": "paragraph"
}
],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [
{
"value": [
{
"value": "Inner contents",
"type": "text"
}
],
"type": "paragraph"
},
{
"value": [
{
"value": "Another paragraph",
"type": "text"
}
],
"type": "paragraph"
}
],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": {
"content": [
{
"value": [
{
"value": "Inner contents",
"type": "text"
}
],
"type": "paragraph"
}
],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "block",
"type": "tag"
},
{
"value": [
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {},
"properties": []
}
},
"subtype": "block",
"type": "tag"
"value": "Blah blah",
"type": "text"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {},
"properties": []
}
},
"subtype": "block",
"type": "tag"
"type": "break"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": ""
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"value": "blah blah.",
"type": "text"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": ""
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"type": "break"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": ""
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"value": {
"content": [],
"name": "inline",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "inline",
"type": "tag"
},
{
"value": {
"content": [],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"type": "break"
},
{
"value": {
"content": [
{
"value": [
{
"value": "Inner contents",
"type": "text"
}
],
"type": "paragraph"
},
{
"value": [
{
"value": "Another paragraph",
"type": "text"
}
],
"type": "paragraph"
}
],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"value": {
"content": [
{
"value": "look ma",
"type": "text"
}
],
"name": "inline",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "inline",
"type": "tag"
},
{
"value": {
"content": [
{
"value": [
{
"value": "Inner contents",
"type": "text"
}
],
"type": "paragraph"
},
{
"value": [
{
"value": "Another paragraph",
"type": "text"
}
],
"type": "paragraph"
}
],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"type": "break"
},
{
"value": {
"content": [
{
"value": [
{
"value": "Inner contents",
"type": "text"
}
],
"type": "paragraph"
}
],
"name": "tag",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "block",
"type": "tag"
"value": {
"content": [
{
"value": "no hands",
"type": "text"
}
],
"name": "inline",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": {
"prop": true
}
}
},
"subtype": "inline",
"type": "tag"
},
{
"value": [
{
"value": "Blah blah",
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": "blah blah.",
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"content": [],
"name": "inline",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "inline",
"type": "tag"
},
{
"value": [],
"type": "break"
},
{
"value": {
"content": [
{
"value": "look ma",
"type": "text"
}
],
"name": "inline",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "inline",
"type": "tag"
},
{
"value": [],
"type": "break"
},
{
"value": {
"content": [
{
"value": "no hands",
"type": "text"
}
],
"name": "inline",
"metadata": {
"settings": {
"setting": "foo"
},
"properties": [
"prop"
]
}
},
"subtype": "inline",
"type": "tag"
},
{
"value": [],
"type": "break"
},
{
"value": "content",
"type": "text"
}
],
"type": "paragraph"
"type": "break"
},
{
"value": {
"content": " ## This is _not_ a comment; it's part of the tag around it",
"name": "src",
"metadata": {
"settings": {},
"properties": []
}
},
"subtype": "literal",
"type": "tag"
"value": "content",
"type": "text"
}
],
"metadata": {
"settings": {
"empty": "",
"case": "Comments",
"nonempty": "yes"
},
"properties": [
"prop"
]
],
"type": "paragraph"
},
{
"value": {
"content": " ## This is _not_ a comment; it's part of the tag around it",
"name": "src",
"metadata": {
"settings": {},
"properties": {}
}
},
"subtype": "literal",
"type": "tag"
}
],
"metadata": {
"settings": {
"empty": "",
"case": "Comments",
"nonempty": "yes"
},
"properties": {
"prop": true
}
}
}
}

10
data/golden/empty-document/output.json

@ -1,7 +1,7 @@
{
"metadata": {
"properties": [],
"settings": {}
},
"content": []
"metadata": {
"properties": {},
"settings": {}
},
"content": []
}

189
data/golden/gamut/output.json

@ -1,10 +1,10 @@
{
"metadata": {
"properties": [
"prop",
"prop-with-comment",
"prop-with-leading-spaces"
],
"properties": {
"prop": true,
"prop-with-comment": true,
"prop-with-leading-spaces": true
},
"settings": {
"set-a1": "42",
"set-a2": "42",
@ -57,7 +57,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -74,7 +73,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -82,7 +80,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -98,7 +95,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -112,7 +109,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -129,14 +125,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -159,14 +154,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -180,7 +174,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -188,14 +181,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -221,7 +213,7 @@
"value": {
"name": "a",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -237,7 +229,7 @@
"value": {
"name": "c",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -249,7 +241,7 @@
"value": {
"name": "d",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -267,14 +259,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -283,14 +274,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -299,14 +289,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -315,16 +304,15 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [
"prop"
],
"properties": {
"prop": true
},
"settings": {}
},
"content": []
@ -333,17 +321,16 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [
"prop1",
"prop2"
],
"properties": {
"prop1": true,
"prop2": true
},
"settings": {}
},
"content": []
@ -352,14 +339,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {
"set": "42"
}
@ -370,14 +356,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {
"set": "42"
}
@ -388,14 +373,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {
"set": "42"
}
@ -406,14 +390,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {
"set": "42"
}
@ -424,16 +407,15 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [
"prop"
],
"properties": {
"prop": true
},
"settings": {
"baz": "quz",
"foo": "bar"
@ -445,14 +427,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -466,14 +447,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -487,14 +467,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -502,7 +481,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -521,16 +500,15 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [
"prop"
],
"properties": {
"prop": true
},
"settings": {
"baz": "quz",
"foo": "bar"
@ -541,7 +519,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -560,14 +538,13 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -576,18 +553,17 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [
"prop1",
"prop2",
"prop3"
],
"properties": {
"prop1": true,
"prop2": true,
"prop3": true
},
"settings": {
"set": "42"
}
@ -612,14 +588,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -635,7 +610,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -651,7 +626,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -663,7 +638,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": []
@ -684,7 +659,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -693,14 +668,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "kind",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -714,7 +688,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -735,7 +708,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -744,14 +717,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "kind",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -765,7 +737,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -773,7 +744,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -781,7 +751,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -794,7 +763,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -810,7 +778,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -819,14 +787,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "kind",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -840,7 +807,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -848,7 +814,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -856,7 +821,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -869,7 +833,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -883,7 +846,7 @@
"value": {
"name": "tag",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -894,14 +857,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "kind",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -915,7 +877,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -923,7 +884,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -942,7 +902,7 @@
"value": {
"name": "block",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -953,7 +913,6 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
@ -961,14 +920,13 @@
"type": "text"
},
{
"value": [],
"type": "break"
},
{
"value": {
"name": "italic",
"metadata": {
"properties": [],
"properties": {},
"settings": {}
},
"content": [
@ -982,7 +940,6 @@
"subtype": "inline"
},
{
"value": [],
"type": "break"
},
{
@ -996,7 +953,7 @@
"value": {