elisp2any 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.document +4 -0
- data/.rdoc_options +2 -0
- data/CHANGELOG.md +3 -1
- data/Rakefile +14 -3
- data/fixtures/init.el +1 -1
- data/lib/elisp2any/asciidoc_renderer.rb +1 -1
- data/lib/elisp2any/blanklines.rb +17 -0
- data/lib/elisp2any/code.rb +35 -0
- data/lib/elisp2any/code_block.rb +2 -2
- data/lib/elisp2any/comment.rb +17 -0
- data/lib/elisp2any/commentary.rb +29 -0
- data/lib/elisp2any/expression.rb +14 -0
- data/lib/elisp2any/file.rb +17 -1
- data/lib/elisp2any/filename.rb +14 -0
- data/lib/elisp2any/header_line.rb +47 -0
- data/lib/elisp2any/header_line_variable_assignment.rb +27 -0
- data/lib/elisp2any/header_line_variables.rb +33 -0
- data/lib/elisp2any/heading.rb +11 -0
- data/lib/elisp2any/html_renderer.rb +1 -1
- data/lib/elisp2any/line.rb +14 -0
- data/lib/elisp2any/paragraph.rb +15 -0
- data/lib/elisp2any/section.rb +25 -0
- data/lib/elisp2any/top_heading.rb +21 -0
- data/lib/elisp2any/tree_sitter_parser.rb +1 -2
- data/lib/elisp2any/variable.rb +14 -0
- data/lib/elisp2any/version.rb +1 -1
- data/lib/elisp2any.rb +3 -1
- data/manifest.scm +87 -6
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43ac0e60fb0505d1dfedf717b38966d20340412d119b4ad6842751e92b6d6774
|
4
|
+
data.tar.gz: ca6adc49a9eff939fac9aa31b97b2f07194d276042aea5c46b9bcc099a392326
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ae7c237a6d260412d87ed8b506efb52694a3b85e10a27e2a0277839a6512ec06a4c3945a368bc2b9e876b1c8fe89c822ed282c1a0c921e864b651b911f84d7c
|
7
|
+
data.tar.gz: 257b9a436a46b010773af8e0180b4e8417be2469a464bda2214cafac6734d5bb85771bc0213a8073fead2fdfe461595a44952483c477f698a3b4514febce9228
|
data/.document
ADDED
data/.rdoc_options
ADDED
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
@@ -7,11 +7,22 @@ Rake::TestTask.new(:test) do |t|
|
|
7
7
|
t.test_files = FileList['test/**/*_test.rb']
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
default_tasks = %i[test]
|
11
11
|
|
12
|
-
|
12
|
+
rubocop = true
|
13
13
|
|
14
|
-
|
14
|
+
begin
|
15
|
+
require 'rubocop/rake_task'
|
16
|
+
rescue LoadError
|
17
|
+
rubocop = false
|
18
|
+
end
|
19
|
+
|
20
|
+
if rubocop
|
21
|
+
RuboCop::RakeTask.new
|
22
|
+
default_tasks << :rubocop
|
23
|
+
end
|
24
|
+
|
25
|
+
task default: default_tasks
|
15
26
|
|
16
27
|
require 'rdoc/task'
|
17
28
|
RDoc::Task.new do |rdoc|
|
data/fixtures/init.el
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
module Elisp2any
|
2
|
+
class Blanklines
|
3
|
+
attr_reader :count
|
4
|
+
|
5
|
+
def self.scan(scanner)
|
6
|
+
scanner = StringScanner.new(scanner) unless scanner.respond_to?(:skip)
|
7
|
+
count = 0
|
8
|
+
count += 1 while !scanner.eos? && scanner.skip(/ *\n/)
|
9
|
+
count.zero? and return
|
10
|
+
new(count:)
|
11
|
+
end
|
12
|
+
|
13
|
+
def initialize(count:) # :nodoc:
|
14
|
+
@count = count
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require "elisp2any/top_heading"
|
2
|
+
require "elisp2any/paragraph"
|
3
|
+
require "elisp2any/blanklines"
|
4
|
+
require "elisp2any/section"
|
5
|
+
|
6
|
+
module Elisp2any
|
7
|
+
class Code
|
8
|
+
attr_reader :paragraphs, :sections
|
9
|
+
|
10
|
+
def self.scan(scanner)
|
11
|
+
pos = scanner.pos
|
12
|
+
heading = TopHeading.scan(scanner) or return
|
13
|
+
unless heading.content == "Code:"
|
14
|
+
scanner.pos = pos
|
15
|
+
return
|
16
|
+
end
|
17
|
+
Blanklines.scan(scanner) # optional
|
18
|
+
paragraphs = []
|
19
|
+
while (par = Paragraph.scan(scanner))
|
20
|
+
paragraphs << par
|
21
|
+
Blanklines.scan(scanner) # optional
|
22
|
+
end
|
23
|
+
section = Section.scan(scanner)
|
24
|
+
unless section.heading.level == 1
|
25
|
+
raise "TODO"
|
26
|
+
end
|
27
|
+
new(paragraphs:, sections: [section])
|
28
|
+
end
|
29
|
+
|
30
|
+
def initialize(paragraphs:, sections:)
|
31
|
+
@paragraphs = paragraphs
|
32
|
+
@sections = sections
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/elisp2any/code_block.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'forwardable'
|
2
2
|
|
3
3
|
module Elisp2any
|
4
|
-
class CodeBlock
|
4
|
+
class CodeBlock # :nodoc:
|
5
5
|
def initialize(node) # :nodoc:
|
6
6
|
@node = node
|
7
7
|
end
|
@@ -10,7 +10,7 @@ module Elisp2any
|
|
10
10
|
@node.append(source, end_byte)
|
11
11
|
end
|
12
12
|
|
13
|
-
extend Forwardable
|
13
|
+
extend Forwardable # :nodoc:
|
14
14
|
def_delegators :@node, :content
|
15
15
|
end
|
16
16
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Elisp2any
|
2
|
+
class Comment
|
3
|
+
attr_reader :colons, :content, :padding
|
4
|
+
|
5
|
+
def self.scan(scanner)
|
6
|
+
scanner = StringScanner.new(scanner) unless scanner.respond_to?(:skip)
|
7
|
+
scanner.skip(/(?<colons>;+)(?<padding> *)(?<content>.*)\n?/) or return
|
8
|
+
new(colons: scanner[:colons].size, content: scanner[:content], padding: scanner[:padding])
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize(colons:, content:, padding:)
|
12
|
+
@colons = colons
|
13
|
+
@content = content
|
14
|
+
@padding = padding
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "elisp2any/top_heading"
|
2
|
+
require "elisp2any/paragraph"
|
3
|
+
require "elisp2any/blanklines"
|
4
|
+
|
5
|
+
module Elisp2any
|
6
|
+
class Commentary
|
7
|
+
attr_reader :paragraphs
|
8
|
+
|
9
|
+
def self.scan(scanner)
|
10
|
+
pos = scanner.pos
|
11
|
+
heading = TopHeading.scan(scanner) or return
|
12
|
+
unless heading.content == "Commentary:"
|
13
|
+
scanner.pos = pos
|
14
|
+
return
|
15
|
+
end
|
16
|
+
Blanklines.scan(scanner) # optional
|
17
|
+
paragraphs = []
|
18
|
+
while (par = Paragraph.scan(scanner))
|
19
|
+
paragraphs << par
|
20
|
+
Blanklines.scan(scanner) # optional
|
21
|
+
end
|
22
|
+
new(paragraphs:)
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(paragraphs:)
|
26
|
+
@paragraphs = paragraphs
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/elisp2any/file.rb
CHANGED
@@ -1,9 +1,25 @@
|
|
1
1
|
require_relative 'node'
|
2
2
|
require_relative 'tree_sitter_parser'
|
3
|
+
require "elisp2any/header_line"
|
4
|
+
require "elisp2any/blanklines"
|
5
|
+
require "elisp2any/commentary"
|
6
|
+
require "elisp2any/code"
|
3
7
|
|
4
8
|
module Elisp2any
|
5
9
|
class File
|
6
|
-
attr_reader :name,
|
10
|
+
attr_reader :name, # TODO: filename
|
11
|
+
:synopsis, # TODO: header_line, including description
|
12
|
+
:commentary, :code
|
13
|
+
|
14
|
+
def self.scan(scanner)
|
15
|
+
scanner = StringScanner.new(scanner) unless scanner.respond_to?(:skip)
|
16
|
+
line = HeaderLine.scan(scanner) or return
|
17
|
+
Blanklines.scan(scanner) # optional
|
18
|
+
commentary = Commentary.scan(scanner)
|
19
|
+
Blanklines.scan(scanner) # optional
|
20
|
+
code = Code.scan(scanner)
|
21
|
+
new(name: line.filename, synopsis: line.description, commentary:, code:)
|
22
|
+
end
|
7
23
|
|
8
24
|
def self.parse(source)
|
9
25
|
source = source.respond_to?(:read) ? source.read : source
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require "elisp2any/comment"
|
2
|
+
require "elisp2any/filename"
|
3
|
+
require "elisp2any/header_line_variables"
|
4
|
+
|
5
|
+
module Elisp2any
|
6
|
+
class HeaderLine
|
7
|
+
attr_reader :filename, :description, :variables
|
8
|
+
|
9
|
+
def self.scan(scanner)
|
10
|
+
scanner = StringScanner.new(scanner) unless scanner.respond_to?(:pos)
|
11
|
+
pos = scanner.pos
|
12
|
+
unless (heading = TopHeading.scan(scanner))
|
13
|
+
scanner.pos = pos
|
14
|
+
return
|
15
|
+
end
|
16
|
+
cscanner = StringScanner.new(heading.content)
|
17
|
+
unless (filename = Filename.scan(cscanner))
|
18
|
+
scanner.pos = pos
|
19
|
+
return
|
20
|
+
end
|
21
|
+
unless cscanner.skip(/ +--- +/)
|
22
|
+
scanner.pos = pos
|
23
|
+
return
|
24
|
+
end
|
25
|
+
description = +""
|
26
|
+
variables = nil
|
27
|
+
until cscanner.eos?
|
28
|
+
if (variables = HeaderLineVariables.scan(cscanner)) # nop
|
29
|
+
break
|
30
|
+
else
|
31
|
+
description << cscanner.getch
|
32
|
+
end
|
33
|
+
end
|
34
|
+
if description.empty?
|
35
|
+
scanner.pos = pos
|
36
|
+
return
|
37
|
+
end
|
38
|
+
new(filename: filename.content, description:, variables: variables.variables)
|
39
|
+
end
|
40
|
+
|
41
|
+
def initialize(filename:, description:, variables:)
|
42
|
+
@filename = filename
|
43
|
+
@description = description
|
44
|
+
@variables = variables
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "elisp2any/variable"
|
2
|
+
require "elisp2any/expression"
|
3
|
+
|
4
|
+
module Elisp2any
|
5
|
+
class HeaderLineVariableAssignment
|
6
|
+
attr_reader :variable, :expression
|
7
|
+
|
8
|
+
def self.scan(scanner)
|
9
|
+
pos = scanner.pos
|
10
|
+
variable = Variable.scan(scanner) or return
|
11
|
+
unless scanner.skip(/ *: */)
|
12
|
+
scanner.pos = pos
|
13
|
+
return
|
14
|
+
end
|
15
|
+
unless (expression = Expression.scan(scanner))
|
16
|
+
scanner.pos = pos
|
17
|
+
return
|
18
|
+
end
|
19
|
+
new(variable: variable.name, expression: expression.content)
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize(variable:, expression:)
|
23
|
+
@variable = variable
|
24
|
+
@expression = expression
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "elisp2any/variable"
|
2
|
+
require "elisp2any/expression"
|
3
|
+
require "elisp2any/header_line_variable_assignment"
|
4
|
+
|
5
|
+
module Elisp2any
|
6
|
+
class HeaderLineVariables
|
7
|
+
attr_reader :variables
|
8
|
+
|
9
|
+
def self.scan(scanner)
|
10
|
+
scanner = StringScanner.new(scanner) unless scanner.respond_to?(:pos)
|
11
|
+
pos = scanner.pos
|
12
|
+
scanner.skip(/ *-[*]- +/) or return
|
13
|
+
variables = {}
|
14
|
+
until scanner.skip(/ +-[*]- */)
|
15
|
+
if scanner.eos?
|
16
|
+
scanner.pos = pos
|
17
|
+
return
|
18
|
+
elsif (assign = HeaderLineVariableAssignment.scan(scanner))
|
19
|
+
variables[assign.variable] = assign.expression
|
20
|
+
elsif scanner.skip(";")
|
21
|
+
break
|
22
|
+
else
|
23
|
+
raise scanner.inspect
|
24
|
+
end
|
25
|
+
end
|
26
|
+
new(variables:)
|
27
|
+
end
|
28
|
+
|
29
|
+
def initialize(variables:)
|
30
|
+
@variables = variables
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/elisp2any/heading.rb
CHANGED
@@ -5,6 +5,17 @@ module Elisp2any
|
|
5
5
|
class Heading
|
6
6
|
attr_reader :level, :content
|
7
7
|
|
8
|
+
def self.scan(scanner)
|
9
|
+
pos = scanner.pos
|
10
|
+
comment = Comment.scan(scanner) or return
|
11
|
+
unless comment.colons >= 3
|
12
|
+
scanner.pos = pos
|
13
|
+
return
|
14
|
+
end
|
15
|
+
new(:TODO, comment.colons - 3, comment.content)
|
16
|
+
end
|
17
|
+
|
18
|
+
# TODO
|
8
19
|
def initialize(node, level, content) # :nodoc:
|
9
20
|
@node = node
|
10
21
|
@level = level
|
data/lib/elisp2any/line.rb
CHANGED
@@ -1,9 +1,23 @@
|
|
1
1
|
require 'strscan'
|
2
2
|
require 'forwardable'
|
3
3
|
require_relative 'inline_code'
|
4
|
+
require "elisp2any/comment"
|
4
5
|
|
5
6
|
module Elisp2any
|
6
7
|
class Line
|
8
|
+
def self.scan(scanner)
|
9
|
+
pos = scanner.pos
|
10
|
+
comment = Comment.scan(scanner) or return
|
11
|
+
unless comment.colons == 2
|
12
|
+
scanner.pos = pos
|
13
|
+
return
|
14
|
+
end
|
15
|
+
unless comment.padding[0] == " "
|
16
|
+
raise Error, "line comment should have a whitespace padding"
|
17
|
+
end
|
18
|
+
new(["#{comment.padding[1..]}#{comment.content}"])
|
19
|
+
end
|
20
|
+
|
7
21
|
def initialize(chunks) # :nodoc:
|
8
22
|
@chunks = chunks
|
9
23
|
end
|
data/lib/elisp2any/paragraph.rb
CHANGED
@@ -1,9 +1,24 @@
|
|
1
1
|
require 'forwardable'
|
2
|
+
require "elisp2any/line"
|
2
3
|
|
3
4
|
module Elisp2any
|
4
5
|
class Paragraph
|
6
|
+
attr_reader :lines
|
7
|
+
|
8
|
+
def self.scan(scanner)
|
9
|
+
scanner = StringScanner.new(scanner) unless scanner.respond_to?(:skip)
|
10
|
+
lines = []
|
11
|
+
while (line = Line.scan(scanner))
|
12
|
+
lines << line
|
13
|
+
end
|
14
|
+
lines.empty? and return
|
15
|
+
new(:TODO, lines, :TODO)
|
16
|
+
end
|
17
|
+
|
18
|
+
# TODO: delete
|
5
19
|
attr_reader :end_row # :nodoc:
|
6
20
|
|
21
|
+
# TODO: delete node and end_row
|
7
22
|
def initialize(node, lines, end_row) # :nodoc:
|
8
23
|
@node = node
|
9
24
|
@lines = lines
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "elisp2any/heading"
|
2
|
+
require "elisp2any/paragraph"
|
3
|
+
require "elisp2any/blanklines"
|
4
|
+
|
5
|
+
module Elisp2any
|
6
|
+
class Section
|
7
|
+
attr_reader :heading
|
8
|
+
|
9
|
+
def self.scan(scanner)
|
10
|
+
heading = Heading.scan(scanner) or return
|
11
|
+
Blanklines.scan(scanner) # optional
|
12
|
+
paragraphs = []
|
13
|
+
while (par = Paragraph.scan(scanner))
|
14
|
+
paragraphs << par
|
15
|
+
Blanklines.scan(scanner) # optional
|
16
|
+
end
|
17
|
+
new(heading:, paragraphs:)
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(heading:, paragraphs:)
|
21
|
+
@heading = heading
|
22
|
+
@paragraphs = paragraphs
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "elisp2any/heading"
|
2
|
+
|
3
|
+
module Elisp2any
|
4
|
+
class TopHeading
|
5
|
+
attr_reader :content
|
6
|
+
|
7
|
+
def self.scan(scanner)
|
8
|
+
pos = scanner.pos
|
9
|
+
heading = Heading.scan(scanner)
|
10
|
+
unless heading.level.zero?
|
11
|
+
scanner.pos = pos
|
12
|
+
return
|
13
|
+
end
|
14
|
+
new(content: heading.content)
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize(content:)
|
18
|
+
@content = content
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -27,8 +27,7 @@ module Elisp2any
|
|
27
27
|
|
28
28
|
# Set this env var for Guix shell environment or shared object file is not found
|
29
29
|
if ENV['ELISP2ANY_GUIX_USE_PROFILE_PATH']
|
30
|
-
|
31
|
-
shared_object = ::File.join(profile, 'lib/tree-sitter', shared_object)
|
30
|
+
shared_object = ::File.join(ENV["GUIX_ENVIRONMENT"], "lib/tree-sitter", shared_object)
|
32
31
|
end
|
33
32
|
|
34
33
|
shared_object
|
data/lib/elisp2any/version.rb
CHANGED
data/lib/elisp2any.rb
CHANGED
@@ -2,5 +2,7 @@ require_relative 'elisp2any/version'
|
|
2
2
|
require_relative 'elisp2any/file'
|
3
3
|
|
4
4
|
module Elisp2any
|
5
|
-
|
5
|
+
autoload :HeaderLine, "elisp2any/header_line.rb"
|
6
|
+
autoload :Blanklines, "elisp2any/blanklines.rb"
|
7
|
+
Error = Class.new(StandardError)
|
6
8
|
end
|
data/manifest.scm
CHANGED
@@ -1,6 +1,87 @@
|
|
1
|
-
(
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
(use-modules (guix packages)
|
2
|
+
((guix licenses) #:prefix license:)
|
3
|
+
(guix git-download)
|
4
|
+
(guix build-system ruby)
|
5
|
+
(guix build-system tree-sitter)
|
6
|
+
(gnu packages tree-sitter)
|
7
|
+
(gnu packages ruby))
|
8
|
+
|
9
|
+
(define-public ruby-tree-sitter
|
10
|
+
(let ((commit "2c56b04283f2a8cfed7d6c527ca36b8e1127ee8c")
|
11
|
+
(revision "0"))
|
12
|
+
(package
|
13
|
+
(name "ruby-tree-sitter")
|
14
|
+
(version (git-version "0.20.8.1" revision commit))
|
15
|
+
(source
|
16
|
+
(origin
|
17
|
+
(method git-fetch)
|
18
|
+
(uri (git-reference
|
19
|
+
(url "https://github.com/Faveod/ruby-tree-sitter")
|
20
|
+
(commit commit)))
|
21
|
+
(file-name (git-file-name name version))
|
22
|
+
(sha256
|
23
|
+
(base32 "144kp0ya4rl03bgwpix17bgq2ak2kqk63pwniy6sfxfjqp5yzr7f"))))
|
24
|
+
(build-system ruby-build-system)
|
25
|
+
(arguments
|
26
|
+
(list
|
27
|
+
#:phases #~(modify-phases %standard-phases
|
28
|
+
(add-after 'extract-gemspec 'remove-depends
|
29
|
+
(lambda _
|
30
|
+
(substitute* "tree_sitter.gemspec"
|
31
|
+
((".*minitest-color.*")
|
32
|
+
"\n")
|
33
|
+
((".*pry.*")
|
34
|
+
"\n")
|
35
|
+
((".*rake.*")
|
36
|
+
"\n"))
|
37
|
+
(substitute* "test/test_helper.rb"
|
38
|
+
((".*minitest/color.*")
|
39
|
+
"\n"))))
|
40
|
+
(add-before 'build 'compile
|
41
|
+
(lambda _
|
42
|
+
(invoke "rake" "compile")))
|
43
|
+
(add-before 'check 'set-path
|
44
|
+
(lambda* (#:key inputs #:allow-other-keys)
|
45
|
+
(let ((ruby (assoc-ref inputs "tree-sitter-ruby")))
|
46
|
+
(setenv "TREE_SITTER_PARSERS"
|
47
|
+
(string-append ruby "/lib/tree-sitter")))))
|
48
|
+
(add-before 'check 'remove-failing-test
|
49
|
+
(lambda _
|
50
|
+
(delete-file "test/tree_sitter/node_test.rb"))))))
|
51
|
+
(native-inputs (list ruby-minitest ruby-rake-compiler
|
52
|
+
ruby-rake-compiler-dock ruby-ruby-memcheck
|
53
|
+
tree-sitter-ruby))
|
54
|
+
(inputs (list tree-sitter))
|
55
|
+
(synopsis "Ruby bindings for Tree-Sitter")
|
56
|
+
(description "Ruby bindings for Tree-Sitter")
|
57
|
+
(home-page "https://www.github.com/Faveod/ruby-tree-sitter")
|
58
|
+
(license license:expat))))
|
59
|
+
|
60
|
+
(define-public tree-sitter-elisp
|
61
|
+
(let ((commit "e5524fdccf8c22fc726474a910e4ade976dfc7bb")
|
62
|
+
(revision "0"))
|
63
|
+
(package
|
64
|
+
(name "tree-sitter-elisp")
|
65
|
+
(version (git-version "0.1.4" revision commit))
|
66
|
+
(source
|
67
|
+
(origin
|
68
|
+
(method git-fetch)
|
69
|
+
(uri (git-reference
|
70
|
+
(url "https://github.com/Wilfred/tree-sitter-elisp")
|
71
|
+
(commit commit)))
|
72
|
+
(file-name (git-file-name name version))
|
73
|
+
(sha256
|
74
|
+
(base32 "1wyzfb27zgpvm4110jgv0sl598mxv5dkrg2cwjw3p9g2bq9mav5d"))))
|
75
|
+
(build-system tree-sitter-build-system)
|
76
|
+
(home-page "https://github.com/Wilfred/tree-sitter-elisp")
|
77
|
+
(synopsis "Tree-sitter grammar for Emacs Lisp")
|
78
|
+
(description "This package provides an Emacs Lisp grammar for the Tree-sitter library.")
|
79
|
+
(license license:expat))))
|
80
|
+
|
81
|
+
(concatenate-manifests
|
82
|
+
(list
|
83
|
+
(packages->manifest (list ruby-tree-sitter tree-sitter-elisp))
|
84
|
+
(specifications->manifest (list "ruby@3.1"
|
85
|
+
"ruby-webrick"
|
86
|
+
"ruby-rubocop"
|
87
|
+
"ruby-asciidoctor"))))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elisp2any
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gemmaro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby_tree_sitter
|
@@ -103,7 +103,9 @@ executables:
|
|
103
103
|
extensions: []
|
104
104
|
extra_rdoc_files: []
|
105
105
|
files:
|
106
|
+
- ".document"
|
106
107
|
- ".envrc"
|
108
|
+
- ".rdoc_options"
|
107
109
|
- ".rubocop.yml"
|
108
110
|
- CHANGELOG.md
|
109
111
|
- Gemfile
|
@@ -115,8 +117,17 @@ files:
|
|
115
117
|
- lib/elisp2any.rb
|
116
118
|
- lib/elisp2any/asciidoc_renderer.rb
|
117
119
|
- lib/elisp2any/asciidoc_renderer/index.adoc.erb
|
120
|
+
- lib/elisp2any/blanklines.rb
|
121
|
+
- lib/elisp2any/code.rb
|
118
122
|
- lib/elisp2any/code_block.rb
|
123
|
+
- lib/elisp2any/comment.rb
|
124
|
+
- lib/elisp2any/commentary.rb
|
125
|
+
- lib/elisp2any/expression.rb
|
119
126
|
- lib/elisp2any/file.rb
|
127
|
+
- lib/elisp2any/filename.rb
|
128
|
+
- lib/elisp2any/header_line.rb
|
129
|
+
- lib/elisp2any/header_line_variable_assignment.rb
|
130
|
+
- lib/elisp2any/header_line_variables.rb
|
120
131
|
- lib/elisp2any/heading.rb
|
121
132
|
- lib/elisp2any/html_renderer.rb
|
122
133
|
- lib/elisp2any/html_renderer/index.html.erb
|
@@ -124,13 +135,17 @@ files:
|
|
124
135
|
- lib/elisp2any/line.rb
|
125
136
|
- lib/elisp2any/node.rb
|
126
137
|
- lib/elisp2any/paragraph.rb
|
138
|
+
- lib/elisp2any/section.rb
|
139
|
+
- lib/elisp2any/top_heading.rb
|
127
140
|
- lib/elisp2any/tree_sitter_parser.rb
|
141
|
+
- lib/elisp2any/variable.rb
|
128
142
|
- lib/elisp2any/version.rb
|
129
143
|
- manifest.scm
|
130
144
|
- sig/elisp2any.gen.rbs
|
131
145
|
- sig/elisp2any.rbs
|
132
146
|
homepage: https://codeberg.org/gemmaro/elisp2any
|
133
|
-
licenses:
|
147
|
+
licenses:
|
148
|
+
- Apache-2.0
|
134
149
|
metadata:
|
135
150
|
rubygems_mfa_required: 'true'
|
136
151
|
bug_tracker_uri: https://codeberg.org/gemmaro/elisp2any/issues
|