Syntax highlighting #691

Merged
epsilon-phase merged 12 commits from syntax-highlighting into master 2019-12-30 13:35:28 +00:00
epsilon-phase commented 2019-11-05 03:45:27 +00:00 (Migrated from github.com)
No description provided.
epsilon-phase commented 2019-11-05 03:47:23 +00:00 (Migrated from github.com)

We aren't any good at the css or the styling.

Not to mention that it needs some more work on both the css classes generated accepted, and what needs to be highlighted.

Sublime/textmate syntaxes are rather intricate.

We aren't any good at the css or the styling. Not to mention that it needs some more work on both the css classes generated accepted, and what needs to be highlighted. Sublime/textmate syntaxes are rather intricate.
igalic commented 2019-11-18 10:03:36 +00:00 (Migrated from github.com)

a general comment, if you want GitHub to properly credit you, you may wanna add the email from the commits to your github email addresses.

a general comment, if you want GitHub to properly credit you, you may wanna add the email from the commits to your github email addresses.
elegaanz (Migrated from github.com) reviewed 2019-12-27 14:54:29 +00:00
elegaanz (Migrated from github.com) left a comment

Works fine overall, just a few remarks:

  • The .punctuation spans should probably be of the default text color (black/white depending on the theme)
  • The languages names are not obvious to guess, I had to print the list to know what names to use. A good improvement could be to make them lowercase, and replace non-alphabetic characters with - (for instance, HTML Erlang would become html-erlang). It would require you to write your own equivalent of find_syntax_by_name tho.

Here is the list of languages in case someone wants to see it:

"Plain Text",
"ASP",
"HTML (ASP)",
"ActionScript",
"AppleScript",
"Batch File",
"NAnt Build File",
"C#",
"C++",
"C",
"CSS",
"Clojure",
"D",
"Diff",
"Erlang",
"HTML (Erlang)",
"Go",
"Graphviz (DOT)",
"Groovy",
"HTML",
"Haskell",
"Literate Haskell",
"Java Server Page (JSP)",
"Java",
"JavaDoc",
"Java Properties",
"JSON",
"JavaScript",
"Regular Expressions (Javascript)",
"BibTeX",
"LaTeX Log",
"LaTeX",
"TeX",
"Lisp",
"Lua",
"Make Output",
"Makefile",
"Markdown",
"MultiMarkdown",
"MATLAB",
"OCaml",
"OCamllex",
"OCamlyacc",
"camlp4",
"Objective-C++",
"Objective-C",
"PHP Source",
"PHP",
"Pascal",
"Perl",
"Python",
"Regular Expressions (Python)",
"R Console",
"R",
"Rd (R Documentation)",
"HTML (Rails)",
"JavaScript (Rails)",
"Ruby Haml",
"Ruby on Rails",
"SQL (Rails)",
"Regular Expression",
"reStructuredText",
"Ruby",
"Cargo Build Results",
"Rust",
"SQL",
"Scala",
"Bourne Again Shell (bash)",
"Shell-Unix-Generic",
"commands-builtin-shell-bash",
"HTML (Tcl)",
"Tcl",
"Textile",
"XML",
"YAML"

Otherwise, it works fine as I said. Thank you!

Works fine overall, just a few remarks: - The `.punctuation` spans should probably be of the default text color (black/white depending on the theme) - The languages names are not obvious to guess, I had to print the list to know what names to use. A good improvement could be to make them lowercase, and replace non-alphabetic characters with `-` (for instance, `HTML Erlang` would become `html-erlang`). It would require you to write your own equivalent of `find_syntax_by_name` tho. Here is the list of languages in case someone wants to see it: <details> "Plain Text", "ASP", "HTML (ASP)", "ActionScript", "AppleScript", "Batch File", "NAnt Build File", "C#", "C++", "C", "CSS", "Clojure", "D", "Diff", "Erlang", "HTML (Erlang)", "Go", "Graphviz (DOT)", "Groovy", "HTML", "Haskell", "Literate Haskell", "Java Server Page (JSP)", "Java", "JavaDoc", "Java Properties", "JSON", "JavaScript", "Regular Expressions (Javascript)", "BibTeX", "LaTeX Log", "LaTeX", "TeX", "Lisp", "Lua", "Make Output", "Makefile", "Markdown", "MultiMarkdown", "MATLAB", "OCaml", "OCamllex", "OCamlyacc", "camlp4", "Objective-C++", "Objective-C", "PHP Source", "PHP", "Pascal", "Perl", "Python", "Regular Expressions (Python)", "R Console", "R", "Rd (R Documentation)", "HTML (Rails)", "JavaScript (Rails)", "Ruby Haml", "Ruby on Rails", "SQL (Rails)", "Regular Expression", "reStructuredText", "Ruby", "Cargo Build Results", "Rust", "SQL", "Scala", "Bourne Again Shell (bash)", "Shell-Unix-Generic", "commands-builtin-shell-bash", "HTML (Tcl)", "Tcl", "Textile", "XML", "YAML" </details> Otherwise, it works fine as I said. Thank you!
@ -6,3 +6,3 @@
apt install -y --no-install-recommends git ssh tar gzip ca-certificates default-jre&&\
apt install -y --no-install-recommends binutils-dev build-essential cmake curl gcc gettext git libcurl4-openssl-dev libdw-dev libelf-dev libiberty-dev libpq-dev libsqlite3-dev libssl-dev make openssl pkg-config postgresql postgresql-contrib python zlib1g-dev python3-pip zip unzip &&\
apt install -y --no-install-recommends binutils-dev build-essential cmake curl gcc gettext git libcurl4-openssl-dev libdw-dev libelf-dev libiberty-dev libpq-dev libsqlite3-dev libssl-dev make openssl pkg-config postgresql postgresql-contrib python zlib1g-dev python3-pip zip unzip libclang-dev&&\
rm -rf /var/lib/apt/lists/*
elegaanz (Migrated from github.com) commented 2019-12-27 13:24:29 +00:00

This new dependency should be added to the install docs too.

This new dependency should be added to the install docs too.
elegaanz (Migrated from github.com) commented 2019-12-27 13:25:22 +00:00

Still a TODO or not?

Still a `TODO` or not?
elegaanz (Migrated from github.com) commented 2019-12-27 13:51:09 +00:00

I think this line was for debugging, but it should probably be removed.

I think this line was for debugging, but it should probably be removed.
elegaanz (Migrated from github.com) commented 2019-12-27 13:50:10 +00:00

Maybe you can chain the two scan calls without calling into_iter between.

Maybe you can chain the two `scan` calls without calling `into_iter` between.
@ -34,0 +35,4 @@
"span",
[
"cw-container",
"cw-text",
elegaanz (Migrated from github.com) commented 2019-12-27 13:49:12 +00:00

Are these lines needed? They don't seem to be related to syntax highlighting and were not here before.

Are these lines needed? They don't seem to be related to syntax highlighting and were not here before.
epsilon-phase (Migrated from github.com) reviewed 2019-12-28 18:10:07 +00:00
epsilon-phase (Migrated from github.com) commented 2019-12-28 18:10:07 +00:00

We can't think of an easy way to allow that, since it would have to be carrying state between adjacent Option<Vec<Event>>s

We can't think of an easy way to allow that, since it would have to be carrying state between adjacent `Option<Vec<Event>>`s
epsilon-phase (Migrated from github.com) reviewed 2019-12-28 18:14:45 +00:00
epsilon-phase (Migrated from github.com) commented 2019-12-28 18:14:45 +00:00

There could be more variables/highlighting to consider, but we're not much for that, so we'll take it out if you prefer.

There could be more variables/highlighting to consider, but we're not much for that, so we'll take it out if you prefer.
epsilon-phase (Migrated from github.com) reviewed 2019-12-28 18:15:32 +00:00
@ -34,0 +35,4 @@
"span",
[
"cw-container",
"cw-text",
epsilon-phase (Migrated from github.com) commented 2019-12-28 18:15:32 +00:00

Those are from the cw'd media stuff, but, since we merged it not quite right, that call was duplicated later on in the builder chain.

Those are from the cw'd media stuff, but, since we merged it not *quite* right, that call was duplicated later on in the builder chain.
trinity-1686a reviewed 2019-12-28 18:33:20 +00:00

not trying to use scan a second time, but flatten would look better than flat_map(into_iter)

not trying to use scan a second time, but [`flatten`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.flatten) would look better than `flat_map(into_iter)`
codecov[bot] commented 2019-12-28 18:46:07 +00:00 (Migrated from github.com)

Codecov Report

Merging #691 into master will decrease coverage by 0.02%.
The diff coverage is 32.43%.

@@            Coverage Diff            @@
##           master    #691      +/-   ##
=========================================
- Coverage   39.32%   39.3%   -0.03%     
=========================================
  Files          72      72              
  Lines        9497    9534      +37     
  Branches     2265    2275      +10     
=========================================
+ Hits         3735    3747      +12     
- Misses       4697    4714      +17     
- Partials     1065    1073       +8
# [Codecov](https://codecov.io/gh/Plume-org/Plume/pull/691?src=pr&el=h1) Report > Merging [#691](https://codecov.io/gh/Plume-org/Plume/pull/691?src=pr&el=desc) into [master](https://codecov.io/gh/Plume-org/Plume/commit/597778fd2f86139eb92ff54ea95229603d5215a9?src=pr&el=desc) will **decrease** coverage by `0.02%`. > The diff coverage is `32.43%`. ```diff @@ Coverage Diff @@ ## master #691 +/- ## ========================================= - Coverage 39.32% 39.3% -0.03% ========================================= Files 72 72 Lines 9497 9534 +37 Branches 2265 2275 +10 ========================================= + Hits 3735 3747 +12 - Misses 4697 4714 +17 - Partials 1065 1073 +8 ```
epsilon-phase (Migrated from github.com) reviewed 2019-12-28 19:02:23 +00:00
epsilon-phase (Migrated from github.com) commented 2019-12-28 19:02:23 +00:00

You mean like this?

.scan(None,flatten_text)
.flatten()
.scan(None,highlight_code)
You mean like this? ``` .scan(None,flatten_text) .flatten() .scan(None,highlight_code) ```
trinity-1686a reviewed 2019-12-28 19:08:28 +00:00

yes, and even

.scan(None,flatten_text)
.flatten()
.scan(None,highlight_code)
.flatten()
yes, and even ```rust .scan(None,flatten_text) .flatten() .scan(None,highlight_code) .flatten() ```
epsilon-phase (Migrated from github.com) reviewed 2019-12-28 19:10:01 +00:00
epsilon-phase (Migrated from github.com) commented 2019-12-28 19:10:01 +00:00

Can-do :)

Can-do :)
elegaanz (Migrated from github.com) reviewed 2019-12-30 13:19:41 +00:00
elegaanz (Migrated from github.com) commented 2019-12-30 13:19:40 +00:00

As you want.

As you want.
elegaanz (Migrated from github.com) approved these changes 2019-12-30 13:35:15 +00:00
elegaanz (Migrated from github.com) left a comment

Works great, thank you!

Works great, thank you!
igalic commented 2019-12-30 18:19:58 +00:00 (Migrated from github.com)

\o/

\o/
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Plume/Plume#691
No description provided.