CodeFlask icon indicating copy to clipboard operation
CodeFlask copied to clipboard

{add,update}Language aren't static

Open anna-is-cute opened this issue 7 years ago • 3 comments

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?

anna-is-cute avatar May 07 '18 11:05 anna-is-cute

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.

kazzkiq avatar May 07 '18 13:05 kazzkiq

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

trasherdk avatar Nov 25 '18 16:11 trasherdk

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.

trasherdk avatar Nov 26 '18 04:11 trasherdk