Skip to content
This repository has been archived by the owner on Dec 20, 2017. It is now read-only.

Adding actual parsing and lexing with a new module #224

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

valich
Copy link
Contributor

@valich valich commented Jan 22, 2015

I have created a new markdown processor being written in Kotlin, which is located here. There are several reasons for implementing yet another markdown processor (to be used in some JetBrains projects), so this one would evolve a little :)

Of course, the current version of this processor is not as feature-rich as the currently used pegdown, but:

  • It's meant to be easily expandable, so many flavours can be implemented;
  • It has the same lexer+parser structure as needed for the plugin, so it has a faster and more reliable highlighting.

I think, it may be quite raw to use completely instead of pegdown, so I'd propose creating a branch for this version. In this case people could share the effort of implementing features dependant on lexing&parsing (there are many short and simple tasks, for example, now I could easily make a brace matcher).

As I see this, when intellij-markdown would be able to change flavour in runtime, it would be a time when one is able to use it solely, without pegdown.

commits contents summary

  1. The new module has been added;
  2. Lexer, parser and IElementType adapters to intellij-markdown are written;
  3. The highlighter has two parts: token highlighting + annotator which now does now use pegdown, uses parsed tree instead;
  4. Colors&fonts repaired (but many color keys are dead now);
  5. Brace matcher and quote handler are implemented (not working very well with * and _).

@nicoulaj
Copy link
Owner

Notice: This plugin is no more maintained and it has been removed from Jetbrains plugins repository. There is a Markdown plugin officially supported by Jetbrains.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants