DevTools
Incremark includes built-in developer tools to help debug and optimize.
Enable
ts
import { useIncremark, useDevTools } from '@incremark/vue'
const incremark = useIncremark()
useDevTools(incremark)tsx
import { useIncremark, useDevTools } from '@incremark/react'
function App() {
const incremark = useIncremark()
useDevTools(incremark)
// ...
}ts
import { createIncremarkParser } from '@incremark/core'
import { mountDevTools } from '@incremark/devtools'
const parser = createIncremarkParser({
onChange: mountDevTools()
})Panels
Overview
Displays current parsing state:
- 📝 Total characters
- ✅ Completed block count
- ⏳ Pending block count
- 🔄 Loading state
Blocks
View all parsed blocks:
- Block type and ID
- Status indicator (completed/pending)
- Click to view detailed AST
AST
JSON format display of complete AST:
- Collapsible tree structure
- Highlight current block
Timeline
Record each append operation:
- Timestamp
- Chunk content
- Block change statistics
Configuration Options
ts
useDevTools(incremark, {
open: false, // Initially open
position: 'bottom-right', // Position
theme: 'dark' // Theme
})position
bottom-right(default)bottom-lefttop-righttop-left
theme
dark(default)light
Control Methods
ts
const devtools = useDevTools(incremark)
devtools.open() // Open panel
devtools.close() // Close panel
devtools.toggle() // Toggle stateProduction Environment
DevTools can be used in production, but it's recommended to control via environment variables:
ts
if (import.meta.env.DEV) {
useDevTools(incremark)
}