Comments (4)
Sure, PR welcome :)
from shikiji.
Sure, PR welcome :)
Adding a cache to rehypeShikiji
should be pretty doable like in the snippet I showed. But i'm not very familiar with textmate's internal implementation as to how to cache the result of _loadgrammer
, any guidance on where to look in the source code and how to optimize it, would adding an cache option on the top level in gethighlighter
a good idea?
from shikiji.
Considering there are multiple layers to cache (code-hast cache, code-html cache, transformers cache, etc.), I think it's better to not implement the cache in core, but in the integrations instead (e.g., the remark plugin etc.). Also in mind that we might need to allow users to provide custom cache implementation like LRU, otherwise it might lead to memleak.
from shikiji.
I've just submitted a PR here: #80
For the moment, I haven't found a way to optimize or cache the grammar loading without touching the core, especially as it's invoked from the top level on each real-time render.
from shikiji.
Related Issues (20)
- Extra <span class="line"></span> added to code blocks? HOT 2
- Undocumented differences compared to Shiki-Twoslash HOT 3
- Docs: Nav: Typo "Compatibly" HOT 1
- `transformerMetaWordHighlight` highlight is not working when word includes symbols HOT 7
- Support for inline code HOT 2
- `rehype-shikiji` support metastring from `node.properties`
- Add ability for language alias rehype-shiki
- Extra leading space in `span`s containing TypeScript types causes underlines to start early HOT 2
- Allow CSS Variables theme HOT 4
- Compatibility with unwasm HOT 6
- Additional types for ThemeRegistrationResolved HOT 7
- Setting up fine-grained highlighter from web bundle bundles all themes HOT 1
- Code overflow in the type information popup
- code block bg parm HOT 1
- Support Vue SFC for TwoSlash HOT 1
- vitepress-plugin-twoslash: Unknown file extension ".css" HOT 3
- [markdown-it-shikiji]: Issues with line number highlights while using markdown-it-attrs HOT 4
- Word highlighting
- Issue template mentions unrelated project HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shikiji.