kazzkiq / CodeFlask

A micro code-editor for awesome web pages.
https://kazzkiq.github.io/CodeFlask/
MIT License
1.07k stars 121 forks source link

{add,update}Language aren't static #65

Open anna-is-cute opened 6 years ago

anna-is-cute commented 6 years ago

In the process of updating to 1.0, I realized that I would need to tell CodeFlask how to use all the languages that Prism has, doing something similar to the following:

// load prism.js after codeflask so it doesn't get overwritten
for (var lang of Object.entries(Prism.languages)) {
  flask.addLanguage(lang[0], lang[1]);
}

To do this, I need to have already created an editor, but as someone who frequently will have multiple editors on the page (dynamically added, as well), it doesn't really make sense for this to be a function on an editor instance. My first instinct was to call it as CodeFlask.addLanguage().

Is there a reason that this is an instance function?

kazzkiq commented 6 years ago

Is there a reason that this is an instance function?

Not there isn't.

In fact, at least at first sight, everything Prism-related should be static, making easier to configure it once and affect all CodeFlask instances.

I will elaborate it in #66.

trasherdk commented 5 years ago

I'm still trying to figure out how to add ex. pug to one instance, and JSON to another, on a single page.

trasherdk commented 5 years ago

Okay. I got it.

<script src="https://unpkg.com/codeflask/build/codeflask.min.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/components/prism-pug.js"></script>

Adding the language component after codeflask did the trick.