joplin-plugin-math-mode 0.8.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,11 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "WebSearch",
5
+ "Bash(find:*)",
6
+ "Bash(cat:*)",
7
+ "Bash(npm run dist:*)",
8
+ "Bash(grep:*)"
9
+ ]
10
+ }
11
+ }
package/README.md CHANGED
@@ -36,6 +36,8 @@ View all examples in [the examples folder](https://github.com/CalebJohn/joplin-m
36
36
 
37
37
  Plus [many more functions](https://mathjs.org/docs/reference/functions.html) provided by mathjs.
38
38
 
39
+ # Editor Support
40
+ Math Mode works in the **Markdown Editor**, **Viewer**, and **Rich Text Editor**. Note that the `inline` configuration option (which places results on the same line as expressions) is not supported in the Rich Text Editor. Inline math expressions will render in the Rich Text Editor, but will be converted into HTML if saved.
39
41
 
40
42
  # Installation
41
43
  - Go to `Tools -> Options -> Plugins`(macOS: Joplin -> Preferences -> Plugins)
@@ -78,7 +80,7 @@ Where
78
80
 
79
81
  `verbose` determines if just the result of the expression should be shown, or the variable name as well.
80
82
 
81
- `inline` should the result be placed on the same line as the expression, or below.
83
+ `inline` should the result be placed on the same line as the expression, or below. Note: inline mode is not supported in the Rich Text Editor.
82
84
 
83
85
  `notation` passed to the [mathjs format function](https://mathjs.org/docs/reference/functions/format.html#where), this is the numerical format to use for results.
84
86
 
@@ -86,17 +88,12 @@ Where
86
88
 
87
89
  `align` place the result on the left or right of the editor window.
88
90
 
89
- # Roadmap
90
- ### TODO
91
- - [ ] Add a markdown-It renderer plugin to get the output on both views
92
- - [x] Add syntax or a method for sum calculations
93
- - [x] Add configuration to settings menu
94
-
95
91
  ### Ideas
96
92
  There is no plan to implement any of these ideas, but there might be eventually.
97
93
  - [ ] Support input in latex format (and maybe in $...$)
98
94
  - Maybe also support just saving math into a latex format (this is easier with mathjs)
99
95
  - [ ] Fix math mode greedily highlighting after \`\`\`math (probably need a custom mode)
96
+ - [ ] Add ability to read math that's inside of paragraphs. e.g. "I paid for a coffee (price = $1)"
100
97
 
101
98
 
102
99
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joplin-plugin-math-mode",
3
- "version": "0.8.2",
3
+ "version": "1.0.0",
4
4
  "homepage": "https://github.com/CalebJohn/joplin-math-mode",
5
5
  "description": "",
6
6
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "extraScripts": [
3
- "codeMirror/mathMode.ts"
3
+ "codeMirror/mathMode.ts",
4
+ "markdownIt/mathModePlugin.ts"
4
5
  ]
5
6
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "manifest_version": 1,
3
3
  "id": "plugin.calebjohn.MathMode",
4
- "app_min_version": "1.8",
5
- "version": "0.8.2",
4
+ "app_min_version": "3.5.9",
5
+ "version": "1.0.0",
6
6
  "name": "Math Mode",
7
7
  "description": "Turn your notes into a powerful calculator with inline math.",
8
8
  "author": "Caleb John",
@@ -15,7 +15,8 @@
15
15
  ],
16
16
  "categories": [
17
17
  "editor",
18
- "productivity"
18
+ "productivity",
19
+ "viewer"
19
20
  ],
20
21
  "platforms": [
21
22
  "desktop",
@@ -37,6 +38,6 @@
37
38
  "48": "icons/48.png",
38
39
  "128": "icons/128.png"
39
40
  },
40
- "_publish_hash": "sha256:809320cb30e74bdb06aea93084dcc81732df23f6f753b97cbdd79643aa079487",
41
- "_publish_commit": "main:82bd92af48e52f2acd986233ec7164351c2deaf0"
41
+ "_publish_hash": "sha256:03f78dc94f1dbc35191018caf9ed25d989a663ff015a94f8ce39d9e28d8aef38",
42
+ "_publish_commit": "main:53abbe2d11ed9b5004162afdfe08e331e8ae5752"
42
43
  }
package/tags ADDED
@@ -0,0 +1,591 @@
1
+ !_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
2
+ !_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
3
+ !_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
4
+ !_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
5
+ !_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
6
+ !_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
7
+ !_TAG_FIELD_DESCRIPTION input /input file/
8
+ !_TAG_FIELD_DESCRIPTION name /tag name/
9
+ !_TAG_FIELD_DESCRIPTION pattern /pattern/
10
+ !_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
11
+ !_TAG_FIELD_DESCRIPTION!XML uri /uri associated with name prefix/
12
+ !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
13
+ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
14
+ !_TAG_KIND_DESCRIPTION!JSON a,array /arrays/
15
+ !_TAG_KIND_DESCRIPTION!JSON b,boolean /booleans/
16
+ !_TAG_KIND_DESCRIPTION!JSON n,number /numbers/
17
+ !_TAG_KIND_DESCRIPTION!JSON o,object /objects/
18
+ !_TAG_KIND_DESCRIPTION!JSON s,string /strings/
19
+ !_TAG_KIND_DESCRIPTION!JSON z,null /nulls/
20
+ !_TAG_KIND_DESCRIPTION!Markdown S,subsection /level 2 sections/
21
+ !_TAG_KIND_DESCRIPTION!Markdown T,l4subsection /level 4 sections/
22
+ !_TAG_KIND_DESCRIPTION!Markdown c,chapter /chapters/
23
+ !_TAG_KIND_DESCRIPTION!Markdown h,hashtag /hashtags/
24
+ !_TAG_KIND_DESCRIPTION!Markdown n,footnote /footnotes/
25
+ !_TAG_KIND_DESCRIPTION!Markdown s,section /sections/
26
+ !_TAG_KIND_DESCRIPTION!Markdown t,subsubsection /level 3 sections/
27
+ !_TAG_KIND_DESCRIPTION!Markdown u,l5subsection /level 5 sections/
28
+ !_TAG_KIND_DESCRIPTION!SVG d,def /ids in defs tags/
29
+ !_TAG_KIND_DESCRIPTION!TypeScript C,constant /constants/
30
+ !_TAG_KIND_DESCRIPTION!TypeScript G,generator /generators/
31
+ !_TAG_KIND_DESCRIPTION!TypeScript a,alias /aliases/
32
+ !_TAG_KIND_DESCRIPTION!TypeScript c,class /classes/
33
+ !_TAG_KIND_DESCRIPTION!TypeScript e,enumerator /enumerators (values inside an enumeration)/
34
+ !_TAG_KIND_DESCRIPTION!TypeScript f,function /functions/
35
+ !_TAG_KIND_DESCRIPTION!TypeScript g,enum /enums/
36
+ !_TAG_KIND_DESCRIPTION!TypeScript i,interface /interfaces/
37
+ !_TAG_KIND_DESCRIPTION!TypeScript m,method /methods/
38
+ !_TAG_KIND_DESCRIPTION!TypeScript n,namespace /namespaces/
39
+ !_TAG_KIND_DESCRIPTION!TypeScript p,property /properties/
40
+ !_TAG_KIND_DESCRIPTION!TypeScript v,variable /variables/
41
+ !_TAG_KIND_DESCRIPTION!XML i,id /id attributes/
42
+ !_TAG_KIND_DESCRIPTION!XML n,nsprefix /namespace prefixes/
43
+ !_TAG_KIND_DESCRIPTION!XML r,root /root elements/
44
+ !_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
45
+ !_TAG_OUTPUT_FILESEP slash /slash or backslash/
46
+ !_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
47
+ !_TAG_OUTPUT_VERSION 0.0 /current.age/
48
+ !_TAG_PARSER_VERSION!JSON 0.0 /current.age/
49
+ !_TAG_PARSER_VERSION!Markdown 1.1 /current.age/
50
+ !_TAG_PARSER_VERSION!SVG 0.0 /current.age/
51
+ !_TAG_PARSER_VERSION!TypeScript 0.0 /current.age/
52
+ !_TAG_PARSER_VERSION!XML 0.0 /current.age/
53
+ !_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
54
+ !_TAG_PROC_CWD /Users/caleb/programming/joplin-math-mode/ //
55
+ !_TAG_PROGRAM_AUTHOR Universal Ctags Team //
56
+ !_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
57
+ !_TAG_PROGRAM_URL https://ctags.io/ /official site/
58
+ !_TAG_PROGRAM_VERSION 6.1.0 //
59
+ 0 .claude/settings.local.json /^ "WebSearch",$/;" s array:permissions.allow
60
+ 0 plugin.config.json /^ "codeMirror\/mathMode.ts",$/;" s array:extraScripts
61
+ 0 src/manifest.json /^ "keywords": ["calculator", "math", "mathjs"],$/;" s array:keywords
62
+ 0 src/manifest.json /^ {$/;" o array:screenshots
63
+ 0 src/manifest.json /^ "categories": ["editor", "productivity"],$/;" s array:categories
64
+ 0 src/manifest.json /^ "platforms": ["desktop", "mobile"],$/;" s array:platforms
65
+ 1 .claude/settings.local.json /^ "Bash(find:*)",$/;" s array:permissions.allow
66
+ 1 plugin.config.json /^ "markdownIt\/mathModePlugin.ts"$/;" s array:extraScripts
67
+ 1 src/manifest.json /^ "keywords": ["calculator", "math", "mathjs"],$/;" s array:keywords
68
+ 1 src/manifest.json /^ {$/;" o array:screenshots
69
+ 1 src/manifest.json /^ "categories": ["editor", "productivity"],$/;" s array:categories
70
+ 1 src/manifest.json /^ "platforms": ["desktop", "mobile"],$/;" s array:platforms
71
+ 128 src/manifest.json /^ "128": "icons\/128.png"$/;" s object:icons
72
+ 16 src/manifest.json /^ "16": "icons\/16.png",$/;" s object:icons
73
+ 2 .claude/settings.local.json /^ "Bash(cat:*)",$/;" s array:permissions.allow
74
+ 2 src/manifest.json /^ "keywords": ["calculator", "math", "mathjs"],$/;" s array:keywords
75
+ 3 .claude/settings.local.json /^ "Bash(npm run dist:*)",$/;" s array:permissions.allow
76
+ 32 src/manifest.json /^ "32": "icons\/32.png",$/;" s object:icons
77
+ 4 .claude/settings.local.json /^ "Bash(grep:*)"$/;" s array:permissions.allow
78
+ 48 src/manifest.json /^ "48": "icons\/48.png",$/;" s object:icons
79
+ Advanced examples/README.md /^# Advanced$/;" c
80
+ Architecture CLAUDE.md /^## Architecture$/;" s chapter:CLAUDE.md
81
+ Array api/types.ts /^ Array = 4,$/;" e enum:SettingItemType
82
+ Basic examples/README.md /^# Basic$/;" c
83
+ Bool api/types.ts /^ Bool = 3,$/;" e enum:SettingItemType
84
+ Build Commands CLAUDE.md /^## Build Commands$/;" s chapter:CLAUDE.md
85
+ Building the plugin GENERATOR_DOC.md /^## Building the plugin$/;" s chapter:generator-joplin
86
+ Burger examples/README.md /^## Burger$/;" s chapter:Advanced
87
+ Burgers examples/burger.md /^### Burgers$/;" S chapter:Patties (both)
88
+ Button api/types.ts /^ Button = 6,$/;" e enum:SettingItemType
89
+ ButtonId api/types.ts /^export type ButtonId = string;$/;" a
90
+ ButtonSpec api/types.ts /^export interface ButtonSpec {$/;" i
91
+ CLAUDE.md CLAUDE.md /^# CLAUDE.md$/;" c
92
+ ChangeEvent api/JoplinSettings.d.ts /^export interface ChangeEvent {$/;" i
93
+ ChangeHandler api/JoplinSettings.d.ts /^export declare type ChangeHandler = (event: ChangeEvent)=> void;$/;" a
94
+ CodeMirror Version Detection CLAUDE.md /^### CodeMirror Version Detection$/;" S section:CLAUDE.md""Key Technical Details
95
+ CodeMirrorPlugin api/types.ts /^ CodeMirrorPlugin = 'codeMirrorPlugin',$/;" e enum:ContentScriptType
96
+ Command api/types.ts /^export interface Command {$/;" i
97
+ Compound Interest examples/README.md /^## Compound Interest$/;" s chapter:Advanced
98
+ Compound interest is defined as examples/compound_interest_extendion.md /^## Compound interest is defined as$/;" s
99
+ Config src/shared/utils/mathUtils.ts /^ Config,$/;" e enum:LineDataType
100
+ Config System CLAUDE.md /^### Config System$/;" S section:CLAUDE.md""Key Technical Details
101
+ ConfigLineData src/shared/utils/mathUtils.ts /^interface ConfigLineData {$/;" i
102
+ Configuration README.md /^# Configuration$/;" c
103
+ Content Script Compilation CLAUDE.md /^### Content Script Compilation$/;" S section:CLAUDE.md""Key Technical Details
104
+ Content Scripts CLAUDE.md /^### Content Scripts$/;" S section:CLAUDE.md""Architecture
105
+ ContentScriptContext api/types.ts /^export interface ContentScriptContext {$/;" i
106
+ ContentScriptContext src/shared/types.ts /^export interface ContentScriptContext {$/;" i
107
+ ContentScriptType api/types.ts /^export enum ContentScriptType {$/;" g
108
+ Context api/types.ts /^ Context = 'context',$/;" e enum:MenuItemLocation
109
+ Core Processing CLAUDE.md /^### Core Processing$/;" S section:CLAUDE.md""Architecture
110
+ Create api/JoplinWorkspace.d.ts /^ Create = 1,$/;" e enum:ItemChangeEventType
111
+ CreateMenuItemOptions api/types.ts /^export interface CreateMenuItemOptions {$/;" i
112
+ Decoration src/codeMirror/codeMirror6Extension.ts /^ const { Decoration, WidgetType, EditorView } = require_codemirror_view();$/;" C
113
+ Delete api/JoplinWorkspace.d.ts /^ Delete = 3,$/;" e enum:ItemChangeEventType
114
+ Development GENERATOR_DOC.md /^## Development$/;" s chapter:generator-joplin
115
+ DialogResult api/types.ts /^export interface DialogResult {$/;" i
116
+ Directory api/types.ts /^ Directory = 'directory',$/;" e enum:FileSystemItem
117
+ Disposable api/types.ts /^export interface Disposable {$/;" i
118
+ Edit api/types.ts /^ Edit = 'edit',$/;" e enum:MenuItemLocation
119
+ Editor Support README.md /^# Editor Support$/;" c
120
+ EditorCommand api/types.ts /^export interface EditorCommand {$/;" i
121
+ EditorContextMenu api/types.ts /^ EditorContextMenu = 'editorContextMenu',$/;" e enum:MenuItemLocation
122
+ EditorToolbar api/types.ts /^ EditorToolbar = 'editorToolbar',$/;" e enum:ToolbarButtonLocation
123
+ EditorView src/codeMirror/codeMirror6Extension.ts /^ const { Decoration, WidgetType, EditorView } = require_codemirror_view();$/;" C
124
+ Establish example parameters examples/compound_interest_extendion.md /^## Establish example parameters$/;" s
125
+ Euro Trip examples/README.md /^## Euro Trip$/;" s chapter:Basic
126
+ Exchange Rates CLAUDE.md /^### Exchange Rates$/;" S section:CLAUDE.md""Architecture
127
+ ExportContext api/types.ts /^export interface ExportContext {$/;" i
128
+ ExportModule api/types.ts /^export interface ExportModule {$/;" i
129
+ ExportOptions api/types.ts /^export interface ExportOptions {$/;" i
130
+ Expression src/shared/utils/mathUtils.ts /^ Expression,$/;" e enum:LineDataType
131
+ ExpressionLineData src/shared/utils/mathUtils.ts /^export interface ExpressionLineData {$/;" i
132
+ External script files GENERATOR_DOC.md /^## External script files$/;" s chapter:generator-joplin
133
+ File api/types.ts /^ File = 'file',$/;" e enum:FileSystemItem
134
+ File api/types.ts /^ File = 'file',$/;" e enum:MenuItemLocation
135
+ FileSystemItem api/types.ts /^export enum FileSystemItem {$/;" g
136
+ FolderContextMenu api/types.ts /^ FolderContextMenu = 'folderContextMenu',$/;" e enum:MenuItemLocation
137
+ For the patties examples/burger.md /^### For the patties$/;" S chapter:Patties (both)
138
+ For the sauce examples/burger.md /^### For the sauce$/;" S chapter:Patties (both)
139
+ Global api/Global.d.ts /^export default class Global {$/;" c
140
+ GlobalConfig src/shared/types.ts /^export interface GlobalConfig {$/;" i
141
+ Help api/types.ts /^ Help = 'help',$/;" e enum:MenuItemLocation
142
+ Html api/types.ts /^ Html = 'html',$/;" e enum:ImportModuleOutputFormat
143
+ Ideas README.md /^### Ideas$/;" S chapter:Configuration
144
+ ImportContext api/types.ts /^export interface ImportContext {$/;" i
145
+ ImportModule api/types.ts /^export interface ImportModule {$/;" i
146
+ ImportModuleOutputFormat api/types.ts /^export enum ImportModuleOutputFormat {$/;" g
147
+ Installation GENERATOR_DOC.md /^## Installation$/;" s chapter:generator-joplin
148
+ Installation README.md /^# Installation$/;" c
149
+ Int api/types.ts /^ Int = 1,$/;" e enum:SettingItemType
150
+ ItemChangeEvent api/JoplinWorkspace.d.ts /^interface ItemChangeEvent {$/;" i
151
+ ItemChangeEventType api/JoplinWorkspace.d.ts /^declare enum ItemChangeEventType {$/;" g
152
+ ItemChangeHandler api/JoplinWorkspace.d.ts /^declare type ItemChangeHandler = (event: ItemChangeEvent)=> void;$/;" a
153
+ Joplin api/Joplin.d.ts /^export default class Joplin {$/;" c
154
+ Joplin api/index.ts /^import type Joplin from '.\/Joplin';$/;" a
155
+ JoplinCommands api/JoplinCommands.d.ts /^export default class JoplinCommands {$/;" c
156
+ JoplinContentScripts api/JoplinContentScripts.d.ts /^export default class JoplinContentScripts {$/;" c
157
+ JoplinData api/JoplinData.d.ts /^export default class JoplinData {$/;" c
158
+ JoplinFilters api/JoplinFilters.d.ts /^export default class JoplinFilters {$/;" c
159
+ JoplinInterop api/JoplinInterop.d.ts /^export default class JoplinInterop {$/;" c
160
+ JoplinPlugins api/JoplinPlugins.d.ts /^export default class JoplinPlugins {$/;" c
161
+ JoplinSettings api/JoplinSettings.d.ts /^export default class JoplinSettings {$/;" c
162
+ JoplinViews api/JoplinViews.d.ts /^export default class JoplinViews {$/;" c
163
+ JoplinViewsDialogs api/JoplinViewsDialogs.d.ts /^export default class JoplinViewsDialogs {$/;" c
164
+ JoplinViewsMenuItems api/JoplinViewsMenuItems.d.ts /^export default class JoplinViewsMenuItems {$/;" c
165
+ JoplinViewsMenus api/JoplinViewsMenus.d.ts /^export default class JoplinViewsMenus {$/;" c
166
+ JoplinViewsPanels api/JoplinViewsPanels.d.ts /^export default class JoplinViewsPanels {$/;" c
167
+ JoplinViewsToolbarButtons api/JoplinViewsToolbarButtons.d.ts /^export default class JoplinViewsToolbarButtons {$/;" c
168
+ JoplinWorkspace api/JoplinWorkspace.d.ts /^export default class JoplinWorkspace {$/;" c
169
+ Key Technical Details CLAUDE.md /^## Key Technical Details$/;" s chapter:CLAUDE.md
170
+ License GENERATOR_DOC.md /^## License$/;" s chapter:generator-joplin
171
+ LineData src/shared/utils/mathUtils.ts /^export type LineData = ConfigLineData|ExpressionLineData;$/;" a
172
+ LineDataType src/shared/utils/mathUtils.ts /^export enum LineDataType {$/;" g
173
+ Markdown api/types.ts /^ Markdown = 'md',$/;" e enum:ImportModuleOutputFormat
174
+ MarkdownItPlugin api/types.ts /^ MarkdownItPlugin = 'markdownItPlugin',$/;" e enum:ContentScriptType
175
+ Math Mode README.md /^# Math Mode$/;" c
176
+ MathBlockType src/shared/types.ts /^export type MathBlockType = '+' | '-';$/;" a
177
+ MathResultWidget src/codeMirror/codeMirror6Extension.ts /^ class MathResultWidget extends WidgetType {$/;" c
178
+ MenuItem api/types.ts /^export interface MenuItem {$/;" i
179
+ MenuItemLocation api/types.ts /^export enum MenuItemLocation {$/;" g
180
+ Monthly Budget examples/README.md /^## Monthly Budget$/;" s chapter:Basic
181
+ Monthly Budget examples/monthly_budget.md /^# Monthly Budget$/;" c
182
+ Note api/types.ts /^ Note = 'note',$/;" e enum:MenuItemLocation
183
+ NoteListContextMenu api/types.ts /^ NoteListContextMenu = 'noteListContextMenu',$/;" e enum:MenuItemLocation
184
+ NoteToolbar api/types.ts /^ NoteToolbar = 'noteToolbar',$/;" e enum:ToolbarButtonLocation
185
+ Object api/types.ts /^ Object = 5,$/;" e enum:SettingItemType
186
+ Options src/shared/utils/mathUtils.ts /^interface Options {$/;" i
187
+ Or README.md /^#### Or$/;" t chapter:Installation
188
+ Path api/types.ts /^export type Path = string[];$/;" a
189
+ Patties (both) examples/burger.md /^# Patties (both)$/;" c
190
+ Performance Optimization CLAUDE.md /^### Performance Optimization$/;" S section:CLAUDE.md""Key Technical Details
191
+ Plugin Entry Point CLAUDE.md /^### Plugin Entry Point$/;" S section:CLAUDE.md""Architecture
192
+ PluginState src/shared/types.ts /^export interface PluginState {$/;" i
193
+ PostMessageHandler api/types.ts /^export type PostMessageHandler = (id: string, message: any)=> Promise<any>;$/;" a
194
+ ProcessContext src/shared/utils/mathUtils.ts /^export interface ProcessContext {$/;" i
195
+ ProcessedDocumentData src/markdownIt/processDocument.ts /^export interface ProcessedDocumentData {$/;" i
196
+ Project Overview CLAUDE.md /^## Project Overview$/;" s chapter:CLAUDE.md
197
+ Publishing the plugin GENERATOR_DOC.md /^## Publishing the plugin$/;" s chapter:generator-joplin
198
+ RangeSetBuilder src/codeMirror/codeMirror6Extension.ts /^ const { RangeSetBuilder, StateField, StateEffect } = require_codemirror_state();$/;" C
199
+ Regular interest is defined as examples/compound_interest_extendion.md /^## Regular interest is defined as$/;" s
200
+ Road Trip examples/README.md /^## Road Trip$/;" s chapter:Basic
201
+ Sauce examples/burger.md /^# Sauce$/;" c
202
+ Scope and State Management CLAUDE.md /^### Scope and State Management$/;" S section:CLAUDE.md""Key Technical Details
203
+ Script api/types.ts /^export interface Script {$/;" i
204
+ SettingItem api/types.ts /^export interface SettingItem {$/;" i
205
+ SettingItemType api/types.ts /^export enum SettingItemType {$/;" g
206
+ SettingSection api/types.ts /^export interface SettingSection {$/;" i
207
+ StateEffect src/codeMirror/codeMirror6Extension.ts /^ const { RangeSetBuilder, StateField, StateEffect } = require_codemirror_state();$/;" C
208
+ StateField src/codeMirror/codeMirror6Extension.ts /^ const { RangeSetBuilder, StateField, StateEffect } = require_codemirror_state();$/;" C
209
+ String api/types.ts /^ String = 2,$/;" e enum:SettingItemType
210
+ Structure GENERATOR_DOC.md /^## Structure$/;" s chapter:generator-joplin
211
+ SyncStartEvent api/JoplinWorkspace.d.ts /^interface SyncStartEvent {$/;" i
212
+ SyncStartHandler api/JoplinWorkspace.d.ts /^declare type SyncStartHandler = (event: SyncStartEvent)=> void;$/;" a
213
+ TagContextMenu api/types.ts /^ TagContextMenu = 'tagContextMenu',$/;" e enum:MenuItemLocation
214
+ ToolbarButtonLocation api/types.ts /^export enum ToolbarButtonLocation {$/;" g
215
+ Tools api/types.ts /^ Tools = 'tools',$/;" e enum:MenuItemLocation
216
+ UI Components CLAUDE.md /^### UI Components$/;" S section:CLAUDE.md""Architecture
217
+ Update api/JoplinWorkspace.d.ts /^ Update = 2,$/;" e enum:ItemChangeEventType
218
+ Updating the plugin framework GENERATOR_DOC.md /^## Updating the plugin framework$/;" s chapter:generator-joplin
219
+ Versioning and Publishing CLAUDE.md /^## Versioning and Publishing$/;" s chapter:CLAUDE.md
220
+ View api/types.ts /^ View = 'view',$/;" e enum:MenuItemLocation
221
+ ViewHandle api/types.ts /^export type ViewHandle = string;$/;" a
222
+ What I Owe Mom examples/README.md /^## What I Owe Mom$/;" s chapter:Basic
223
+ What are the room costs? examples/road_trip.md /^### What are the room costs?$/;" S
224
+ What will gas cost? examples/road_trip.md /^### What will gas cost?$/;" S
225
+ What's the total per person? examples/road_trip.md /^### What's the total per person?$/;" S
226
+ When saving $50 / month examples/compound_interest_extendion.md /^## When saving $50 \/ month$/;" s
227
+ WidgetType src/codeMirror/codeMirror6Extension.ts /^ const { Decoration, WidgetType, EditorView } = require_codemirror_view();$/;" C
228
+ YesOrNo src/shared/types.ts /^type YesOrNo = 'yes' | 'no';$/;" a
229
+ accelerator api/types.ts /^ accelerator: string;$/;" p interface:CreateMenuItemOptions
230
+ accelerator api/types.ts /^ accelerator?: string;$/;" p interface:MenuItem
231
+ advanced api/types.ts /^ advanced?: boolean;$/;" p interface:SettingItem
232
+ align src/shared/types.ts /^ align: string,$/;" p interface:GlobalConfig
233
+ alignRight src/shared/utils/mathUtils.ts /^ alignRight: boolean,$/;" p interface:ExpressionLineData
234
+ allow .claude/settings.local.json /^ "allow": [$/;" a object:permissions
235
+ allowJs tsconfig.json /^ "allowJs": true,$/;" b object:compilerOptions
236
+ allow_inline src/shared/utils/mathUtils.ts /^ const allow_inline = options.globalConfig.inlinesyntax;$/;" C function:process_all
237
+ api_ api/JoplinData.d.ts /^ private api_;$/;" p class:JoplinData
238
+ appTypes api/types.ts /^ appTypes?: string[];$/;" p interface:SettingItem
239
+ app_min_version src/manifest.json /^ "app_min_version": "1.8",$/;" s
240
+ author src/manifest.json /^ "author": "Caleb John",$/;" s
241
+ baseUrl tsconfig.json /^ "baseUrl": "."$/;" s object:compilerOptions
242
+ bignumber src/shared/types.ts /^ bignumber: YesOrNo,$/;" p interface:GlobalConfig
243
+ bignumber src/shared/utils/config.ts /^ bignumber: false,$/;" C
244
+ block_math_regex src/shared/constants.ts /^export const block_math_regex = \/(^|[\\n])[`]{3,}math\/;$/;" C
245
+ btn src/codeMirror/utils/create_result_element.ts /^ const btn = document.createElement('span');$/;" C
246
+ build_decorations src/codeMirror/codeMirror6Extension.ts /^ const build_decorations = (doc: Text) => {$/;" C
247
+ categories src/manifest.json /^ "categories": ["editor", "productivity"],$/;" a
248
+ check src/codeMirror/utils/create_result_element.ts /^const check = `<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" cla/;" C
249
+ classes src/markdownIt/renderMath.ts /^ const classes = ['math-result'];$/;" C function:renderExpressionLine
250
+ clipboard src/codeMirror/utils/create_result_element.ts /^const clipboard = `<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="clipbo/;" C
251
+ closeToken src/markdownIt/mathModePlugin.ts /^ const closeToken = tokens[i + 2];$/;" C
252
+ codeMirror5Extension src/codeMirror/codeMirror5Extension.ts /^export function codeMirror5Extension(CodeMirror: any, context: ContentScriptContext) {$/;" f
253
+ codeMirror6Extension src/codeMirror/codeMirror6Extension.ts /^export const codeMirror6Extension = async (editorControl: any, context: ContentScriptContext) =>/;" C
254
+ combinedHtml src/markdownIt/mathModePlugin.ts /^ let combinedHtml = '';$/;" v
255
+ commandName api/types.ts /^ commandName?: string;$/;" p interface:MenuItem
256
+ commands_ api/Joplin.d.ts /^ private commands_;$/;" p class:Joplin
257
+ compilerOptions tsconfig.json /^ "compilerOptions": {$/;" o
258
+ config src/codeMirror/codeMirror5Extension.ts /^ const config = await context.postMessage({name: 'getConfig'});$/;" C function:codeMirror5Extension
259
+ config src/codeMirror/codeMirror5Extension.ts /^ const config: GlobalConfig = cm.state.mathMode.globalConfig;$/;" C function:codeMirror5Extension
260
+ config src/codeMirror/codeMirror6Extension.ts /^ public constructor(private lineData: ExpressionLineData, private config: GlobalConfig) {$/;" p class:MathResultWidget
261
+ config src/shared/utils/mathUtils.ts /^ config,$/;" C function:process_next
262
+ config src/shared/utils/mathUtils.ts /^ config: GlobalConfig & { global?: string };$/;" p interface:ProcessContext
263
+ config_decoration src/codeMirror/codeMirror6Extension.ts /^ const config_decoration = Decoration.line({$/;" C
264
+ constructor api/Global.d.ts /^ constructor(implementation: any, plugin: Plugin, store: any);$/;" m class:Global
265
+ constructor api/Joplin.d.ts /^ constructor(implementation: any, plugin: Plugin, store: any);$/;" m class:Joplin
266
+ constructor api/JoplinContentScripts.d.ts /^ constructor(plugin: Plugin);$/;" m class:JoplinContentScripts
267
+ constructor api/JoplinPlugins.d.ts /^ constructor(plugin: Plugin);$/;" m class:JoplinPlugins
268
+ constructor api/JoplinSettings.d.ts /^ constructor(plugin: Plugin);$/;" m class:JoplinSettings
269
+ constructor api/JoplinViews.d.ts /^ constructor(implementation: any, plugin: Plugin, store: any);$/;" m class:JoplinViews
270
+ constructor api/JoplinViewsDialogs.d.ts /^ constructor(implementation: any, plugin: Plugin, store: any);$/;" m class:JoplinViewsDialogs
271
+ constructor api/JoplinViewsMenuItems.d.ts /^ constructor(plugin: Plugin, store: any);$/;" m class:JoplinViewsMenuItems
272
+ constructor api/JoplinViewsMenus.d.ts /^ constructor(plugin: Plugin, store: any);$/;" m class:JoplinViewsMenus
273
+ constructor api/JoplinViewsPanels.d.ts /^ constructor(plugin: Plugin, store: any);$/;" m class:JoplinViewsPanels
274
+ constructor api/JoplinViewsToolbarButtons.d.ts /^ constructor(plugin: Plugin, store: any);$/;" m class:JoplinViewsToolbarButtons
275
+ constructor api/JoplinWorkspace.d.ts /^ constructor(store: any);$/;" m class:JoplinWorkspace
276
+ constructor src/codeMirror/codeMirror6Extension.ts /^ public constructor(private lineData: ExpressionLineData, private config: GlobalConfig) {$/;" m class:MathResultWidget
277
+ content src/markdownIt/mathModePlugin.ts /^ const content = contentToken.content;$/;" C
278
+ contentScriptId api/types.ts /^ contentScriptId: string;$/;" p interface:ContentScriptContext
279
+ contentScriptId src/index.ts /^const contentScriptId = 'literate-math-mode';$/;" C
280
+ contentScripts_ api/Joplin.d.ts /^ private contentScripts_;$/;" p class:Joplin
281
+ contentToken src/markdownIt/mathModePlugin.ts /^ let endLine = contentToken.map ? contentToken.map[1] : -1;$/;" v
282
+ contentToken src/markdownIt/mathModePlugin.ts /^ let startLine = contentToken.map ? contentToken.map[0] : -1;$/;" v
283
+ contentToken src/markdownIt/mathModePlugin.ts /^ const contentToken = tokens[i + 1];$/;" C
284
+ copyButton src/shared/types.ts /^ copyButton: boolean,$/;" p interface:GlobalConfig
285
+ copyButton src/shared/utils/config.ts /^ copyButton: true,$/;" C
286
+ copyButton src/shared/utils/mathUtils.ts /^ copyButton: boolean,$/;" p interface:ExpressionLineData
287
+ create_result_element src/codeMirror/utils/create_result_element.ts /^export const create_result_element = (lineData: ExpressionLineData, config: GlobalConfig) => {$/;" C
288
+ currency src/shared/types.ts /^ currency: boolean,$/;" p interface:GlobalConfig
289
+ currency src/shared/utils/config.ts /^ currency: true,$/;" C
290
+ currencyAttr src/exchangeRate.ts /^ const currencyAttr: any = node.attributes['currency'];$/;" C function:get_rates_from_euro_central
291
+ data src/shared/utils/mathUtils.ts /^ const data = process_expression_line(line, localScope, config, block_total);$/;" C function:process_next
292
+ data_ api/Joplin.d.ts /^ private data_;$/;" p class:Joplin
293
+ decorations_field src/codeMirror/codeMirror6Extension.ts /^ const decorations_field = StateField.define<DecorationSet>({$/;" C
294
+ defaultConfig src/shared/utils/config.ts /^export const defaultConfig = {$/;" C
295
+ defaultFence src/markdownIt/mathModePlugin.ts /^ const defaultFence = markdownIt.renderer.rules.fence || function(tokens: any[], idx: number,/;" C
296
+ defaultProcessContext src/shared/utils/mathUtils.ts /^export const defaultProcessContext = (globalConfig: GlobalConfig): ProcessContext => ({$/;" C
297
+ defs1 icons/icon.svg /^ id="defs1" \/>$/;" i
298
+ description api/types.ts /^ description: string;$/;" p interface:ExportModule
299
+ description api/types.ts /^ description: string;$/;" p interface:ImportModule
300
+ description api/types.ts /^ description?: string;$/;" p interface:SettingItem
301
+ description api/types.ts /^ description?: string;$/;" p interface:SettingSection
302
+ description src/manifest.json /^ "description": "Turn your notes into a powerful calculator with inline math.",$/;" s
303
+ destPath api/types.ts /^ destPath: string;$/;" p interface:ExportContext
304
+ dialogs_ api/JoplinViews.d.ts /^ private dialogs_;$/;" p class:JoplinViews
305
+ displaytotal src/shared/types.ts /^ displaytotal: YesOrNo,$/;" p interface:GlobalConfig
306
+ displaytotal src/shared/utils/config.ts /^ displaytotal: false,$/;" C
307
+ displaytotal src/shared/utils/mathUtils.ts /^ displaytotal: boolean,$/;" p interface:ExpressionLineData
308
+ documentData src/markdownIt/mathModePlugin.ts /^ const documentData = processDocumentMath(state.src, globalConfig);$/;" C
309
+ enabledCondition api/types.ts /^ enabledCondition?: string;$/;" p interface:Command
310
+ endLine src/markdownIt/mathModePlugin.ts /^ let endLine = contentToken.map ? contentToken.map[1] : -1;$/;" v
311
+ eq src/codeMirror/codeMirror6Extension.ts /^ public eq(other: MathResultWidget) {$/;" m class:MathResultWidget
312
+ equation_result_collapsed src/markdownIt/renderMath.ts /^ const marker = lineData.inputHidden ? equation_result_collapsed : equation_result_separator;$/;" C function:renderExpressionLine
313
+ equation_result_collapsed src/shared/constants.ts /^export const equation_result_collapsed = " |> ";$/;" C
314
+ equation_result_separator src/shared/constants.ts /^export const equation_result_separator = " => ";$/;" C
315
+ erase_to_start src/shared/utils/mathUtils.ts /^function erase_to_start(lines: string[], lineno: number, allow_inline: boolean) {$/;" f
316
+ escapedInput src/markdownIt/renderMath.ts /^ const escapedInput = markdownIt.utils.escapeHtml(inputLine.trim());$/;" C function:renderExpressionLine
317
+ escapedResult src/markdownIt/renderMath.ts /^ const escapedResult = markdownIt.utils.escapeHtml(result);$/;" C function:renderExpressionLine
318
+ escapedSource src/markdownIt/mathModePlugin.ts /^ const escapedSource = markdownIt.utils.escapeHtml(token.content.trim());$/;" C
319
+ euroCentralUrl src/exchangeRate.ts /^const euroCentralUrl = "https:\/\/www.ecb.europa.eu\/stats\/eurofxref\/eurofxref-daily.xml";$/;" C
320
+ event api/JoplinWorkspace.d.ts /^ event: ItemChangeEventType;$/;" p interface:ItemChangeEvent
321
+ execute api/JoplinCommands.d.ts /^ execute(commandName: string, ...args: any[]): Promise<any | void>;$/;" m class:JoplinCommands
322
+ execute api/types.ts /^ execute(...args: any[]): Promise<any | void>;$/;" m interface:Command
323
+ extraScripts plugin.config.json /^ "extraScripts": [$/;" a
324
+ falsey src/shared/utils/mathUtils.ts /^function falsey(s: string) {$/;" f
325
+ fenceLines src/markdownIt/mathModePlugin.ts /^ const fenceLines = token.content.split('\\n');$/;" C
326
+ fileExtensions api/types.ts /^ fileExtensions?: string[];$/;" p interface:ExportModule
327
+ fileExtensions api/types.ts /^ fileExtensions?: string[];$/;" p interface:ImportModule
328
+ filtered src/shared/utils/mathUtils.ts /^ const filtered = parsed.filter(function (n: any) {$/;" C function:math_contains_assignment
329
+ filtered src/shared/utils/mathUtils.ts /^ const filtered = parsed.filter(function (n: any) {$/;" C function:math_contains_symbol
330
+ filters_ api/Joplin.d.ts /^ private filters_;$/;" p class:Joplin
331
+ force_refresh_effect src/codeMirror/codeMirror6Extension.ts /^ const force_refresh_effect = StateEffect.define<boolean>({});$/;" C
332
+ formData api/types.ts /^ formData?: any;$/;" p interface:DialogResult
333
+ format api/types.ts /^ format: string;$/;" p interface:ExportModule
334
+ format api/types.ts /^ format: string;$/;" p interface:ImportModule
335
+ format api/types.ts /^ format?: string;$/;" p interface:ExportOptions
336
+ format_result src/shared/utils/mathUtils.ts /^export function format_result(result: any, config: GlobalConfig): any {$/;" f
337
+ format_thousands_separator src/codeMirror/utils/create_result_element.ts /^const format_thousands_separator = ($/;" C
338
+ from api/index.ts /^import type Joplin from '.\/Joplin';$/;" a
339
+ from src/codeMirror/codeMirror5Extension.ts /^ const from = change.from.line;$/;" C function:codeMirror5Extension
340
+ fromLine src/codeMirror/codeMirror6Extension.ts /^ const fromLine = tr.startState.doc.lineAt(node.from);$/;" C
341
+ g1 icons/icon.svg /^ id="g1">$/;" i
342
+ generator-joplin GENERATOR_DOC.md /^# generator-joplin$/;" c
343
+ get api/JoplinData.d.ts /^ get(path: Path, query?: any): Promise<any>;$/;" m class:JoplinData
344
+ getGlobalConfig src/shared/utils/config.ts /^export async function getGlobalConfig(settingValue: (key: string) => any): Promise<GlobalConfig>/;" f
345
+ getGlobalConfigSync src/shared/utils/config.ts /^export function getGlobalConfigSync(settingValue: (key: string) => any): GlobalConfig {$/;" f
346
+ get_exchange_rates src/exchangeRate.ts /^export async function get_exchange_rates() {$/;" f
347
+ get_line_equation src/shared/utils/mathUtils.ts /^function get_line_equation(line: string): string {$/;" f
348
+ get_rates_from_euro_central src/exchangeRate.ts /^async function get_rates_from_euro_central(url: string) {$/;" f
349
+ get_sum_type src/shared/utils/mathUtils.ts /^function get_sum_type(line: string): MathBlockType {$/;" f
350
+ global src/shared/types.ts /^ global: YesOrNo,$/;" p interface:GlobalConfig
351
+ globalConfig src/codeMirror/codeMirror5Extension.ts /^ const globalConfig = await getConfig();$/;" C
352
+ globalConfig src/markdownIt/mathModePlugin.ts /^ const globalConfig = getGlobalConfigSync(options.settingValue);$/;" C
353
+ globalConfig src/shared/types.ts /^ globalConfig: object;$/;" p interface:PluginState
354
+ globalConfig src/shared/utils/mathUtils.ts /^ globalConfig,$/;" C function:process_next
355
+ globalConfig src/shared/utils/mathUtils.ts /^ globalConfig: GlobalConfig;$/;" p interface:Options
356
+ globalConfig src/shared/utils/mathUtils.ts /^ globalConfig: GlobalConfig;$/;" p interface:ProcessContext
357
+ global_config src/codeMirror/codeMirror6Extension.ts /^ const global_config = await context.postMessage({name: 'getConfig'});$/;" C
358
+ hasAnyMathLines src/markdownIt/mathModePlugin.ts /^ let hasAnyMathLines = false;$/;" v
359
+ hide src/shared/types.ts /^ hide: YesOrNo,$/;" p interface:GlobalConfig
360
+ hide src/shared/utils/config.ts /^ hide: false,$/;" C
361
+ homepage_url src/manifest.json /^ "homepage_url": "https:\/\/github.com\/CalebJohn\/joplin-math-mode#readme",$/;" s
362
+ html src/markdownIt/mathModePlugin.ts /^ let html = '<div class="joplin-editable math-block">\\n';$/;" v
363
+ htmlToken src/markdownIt/mathModePlugin.ts /^ const htmlToken = new state.Token('html_block', '', 0);$/;" C
364
+ i src/codeMirror/codeMirror5Extension.ts /^ const lineData: LineData = cm.state.mathMode.lineData[i];$/;" C function:codeMirror5Extension
365
+ i src/markdownIt/mathModePlugin.ts /^ const closeToken = tokens[i + 2];$/;" C
366
+ i src/markdownIt/mathModePlugin.ts /^ const contentToken = tokens[i + 1];$/;" C
367
+ i src/markdownIt/mathModePlugin.ts /^ const token = tokens[i];$/;" C
368
+ i src/markdownIt/mathModePlugin.ts /^ for (let i = 0; i < tokens.length; i++) {$/;" v
369
+ i src/markdownIt/renderMath.ts /^ const line = lines[i];$/;" C function:renderMathBlock
370
+ i src/shared/utils/mathUtils.ts /^ const line = lines[i];$/;" C function:erase_to_start
371
+ i src/shared/utils/mathUtils.ts /^ const line = lines[i];$/;" C function:process_all
372
+ i src/shared/utils/mathUtils.ts /^ const line = lines[i];$/;" C function:trim_lines
373
+ iconName api/types.ts /^ iconName?: string;$/;" p interface:Command
374
+ iconName api/types.ts /^ iconName?: string;$/;" p interface:SettingSection
375
+ icons src/manifest.json /^ "icons": {$/;" o
376
+ id api/JoplinWorkspace.d.ts /^ id: string;$/;" p interface:ItemChangeEvent
377
+ id api/types.ts /^ id: ButtonId;$/;" p interface:ButtonSpec
378
+ id api/types.ts /^ id: ButtonId;$/;" p interface:DialogResult
379
+ id src/manifest.json /^ "id": "plugin.calebjohn.MathMode",$/;" s
380
+ idx src/markdownIt/mathModePlugin.ts /^ const token = tokens[idx];$/;" C
381
+ implementation_ api/JoplinViews.d.ts /^ private implementation_;$/;" p class:JoplinViews
382
+ implementation_ api/JoplinViewsDialogs.d.ts /^ private implementation_;$/;" p class:JoplinViewsDialogs
383
+ info src/markdownIt/mathModePlugin.ts /^ const info = token.info ? token.info.trim() : '';$/;" C
384
+ inkscape icons/icon.svg /^ xmlns:svg="http:\/\/www.w3.org\/2000\/svg">$/;" n uri:http://www.inkscape.org/namespaces/inkscape
385
+ inline src/shared/types.ts /^ inline: YesOrNo,$/;" p interface:GlobalConfig
386
+ inline src/shared/utils/config.ts /^ inline: true,$/;" C
387
+ inline src/shared/utils/mathUtils.ts /^ inline: boolean,$/;" p interface:ExpressionLineData
388
+ inline_container_decoration src/codeMirror/codeMirror6Extension.ts /^ const inline_container_decoration = Decoration.line({$/;" C
389
+ inline_math_regex src/shared/constants.ts /^export const inline_math_regex = \/(?:^|[\\n])(\\+|\\-)?=(?= *[0-9a-zA-Z\\[\\(\\-\\+])\/;$/;" C
390
+ inlinesyntax src/shared/types.ts /^ inlinesyntax: boolean,$/;" p interface:GlobalConfig
391
+ inputHidden src/shared/utils/mathUtils.ts /^ inputHidden: boolean,$/;" p interface:ExpressionLineData
392
+ input_hidden_decoration src/codeMirror/codeMirror6Extension.ts /^ const input_hidden_decoration = Decoration.mark({$/;" C
393
+ input_inline_decoration src/codeMirror/codeMirror6Extension.ts /^ const input_inline_decoration = Decoration.mark({$/;" C
394
+ interop_ api/Joplin.d.ts /^ private interop_;$/;" p class:Joplin
395
+ interval src/codeMirror/codeMirror5Extension.ts /^ let interval = null;$/;" v
396
+ isContextMenuItemLocation api/types.ts /^export function isContextMenuItemLocation(location: MenuItemLocation): boolean {$/;" f
397
+ isEnum api/types.ts /^ isEnum?: boolean;$/;" p interface:SettingItem
398
+ isNoteArchive api/types.ts /^ isNoteArchive: boolean;$/;" p interface:ExportModule
399
+ isNoteArchive api/types.ts /^ isNoteArchive: boolean;$/;" p interface:ImportModule
400
+ joplin api/index.ts /^declare const joplin: Joplin;$/;" C
401
+ joplin_ api/Global.d.ts /^ private joplin_;$/;" p class:Global
402
+ jsx tsconfig.json /^ "jsx": "react",$/;" s object:compilerOptions
403
+ key src/shared/utils/mathUtils.ts /^ const [ key, value ] = line.split(':', 2);$/;" C function:process_config
404
+ key src/shared/utils/mathUtils.ts /^ for (const [key, value] of Object.entries(a)) {$/;" C function:shallow_equal
405
+ keys api/JoplinSettings.d.ts /^ keys: string[];$/;" p interface:ChangeEvent
406
+ keywords src/manifest.json /^ "keywords": ["calculator", "math", "mathjs"],$/;" a
407
+ label api/types.ts /^ label: string;$/;" p interface:SettingItem
408
+ label api/types.ts /^ label: string;$/;" p interface:SettingSection
409
+ label api/types.ts /^ label?: string;$/;" p interface:Command
410
+ label api/types.ts /^ label?: string;$/;" p interface:MenuItem
411
+ label src/manifest.json /^ "label": "An example demonstrating how the plugin can be used to to track multiple simple /;" s object:screenshots.0
412
+ label src/manifest.json /^ "label": "An example demonstrating the ability to do currency conversion."$/;" s object:screenshots.1
413
+ line src/codeMirror/codeMirror5Extension.ts /^ const line = cm.lineInfo(i);$/;" C function:codeMirror5Extension
414
+ line src/codeMirror/codeMirror5Extension.ts /^ const line = cm.lineInfo(i);$/;" C function:codeMirror5Extension
415
+ line src/markdownIt/renderMath.ts /^ const line = lines[i];$/;" C function:renderMathBlock
416
+ line src/shared/utils/mathUtils.ts /^ const line = lines[i];$/;" C function:erase_to_start
417
+ line src/shared/utils/mathUtils.ts /^ const line = lines[i];$/;" C function:process_all
418
+ line src/shared/utils/mathUtils.ts /^ const line = lines[i];$/;" C function:trim_lines
419
+ lineData src/codeMirror/codeMirror5Extension.ts /^ const lineData: LineData = cm.state.mathMode.lineData[i];$/;" C function:codeMirror5Extension
420
+ lineData src/codeMirror/codeMirror5Extension.ts /^ const lineData = process_all(lines, { globalConfig: cm.state.mathMode.globalConfig });$/;" C function:codeMirror5Extension
421
+ lineData src/codeMirror/codeMirror6Extension.ts /^ public constructor(private lineData: ExpressionLineData, private config: GlobalConfig) {$/;" p class:MathResultWidget
422
+ lineData src/markdownIt/mathModePlugin.ts /^ const lineData = state.env.mathDocumentData.lineData;$/;" C
423
+ lineData src/markdownIt/processDocument.ts /^ const lineData = process_all(lines, { globalConfig });$/;" C function:processDocumentMath
424
+ lineData src/markdownIt/processDocument.ts /^ lineData: LineData[];$/;" p interface:ProcessedDocumentData
425
+ lineData src/markdownIt/renderMath.ts /^ const lineData = lineDataArray[startLine + i];$/;" C function:renderMathBlock
426
+ lineData src/shared/types.ts /^ lineData: object;$/;" p interface:PluginState
427
+ lineData src/shared/utils/mathUtils.ts /^ const lineData = [];$/;" C function:process_all
428
+ lineDataEqual src/shared/utils/mathUtils.ts /^export function lineDataEqual(a: LineData, b: LineData) {$/;" f
429
+ lineNum src/markdownIt/mathModePlugin.ts /^ for (let lineNum = startLine; lineNum < endLine; lineNum++) {$/;" v
430
+ lines src/codeMirror/codeMirror5Extension.ts /^ const lines = cm.getValue('\\n').split('\\n');$/;" C function:codeMirror5Extension
431
+ lines src/markdownIt/processDocument.ts /^ const lines = src.split('\\n');$/;" C function:processDocumentMath
432
+ lines src/markdownIt/processDocument.ts /^ lines: string[];$/;" p interface:ProcessedDocumentData
433
+ lines src/shared/utils/mathUtils.ts /^ const lines = trim_lines(allLines, allow_inline);$/;" C function:process_all
434
+ localScope src/shared/utils/mathUtils.ts /^ const localScope = Object.assign({total: block_total}, scope);$/;" C function:process_next
435
+ lowerExp src/shared/types.ts /^ lowerExp: number,$/;" p interface:GlobalConfig
436
+ manifest_version src/manifest.json /^ "manifest_version": 1,$/;" n
437
+ marker src/markdownIt/renderMath.ts /^ const marker = lineData.inputHidden ? equation_result_collapsed : equation_result_separator;$/;" C function:renderExpressionLine
438
+ match src/shared/utils/mathUtils.ts /^ const match = inline_math_regex.exec(line)$/;" C function:get_sum_type
439
+ math src/shared/utils/mathUtils.ts /^export const math = mathjs.create(mathjs.all, {});$/;" C
440
+ math_contains_assignment src/shared/utils/mathUtils.ts /^function math_contains_assignment(parsed: any, name: string) {$/;" f
441
+ math_contains_symbol src/shared/utils/mathUtils.ts /^function math_contains_symbol(parsed: any, name: string) {$/;" f
442
+ mathjs src/shared/utils/mathUtils.ts /^const mathjs = require('mathjs');$/;" C
443
+ maxRetries src/codeMirror/codeMirror5Extension.ts /^ const maxRetries = 8; \/\/ 8 attempts is about 12 seconds of waiting$/;" C function:codeMirror5Extension
444
+ maximum api/types.ts /^ maximum?: number;$/;" p interface:SettingItem
445
+ menuItems_ api/JoplinViews.d.ts /^ private menuItems_;$/;" p class:JoplinViews
446
+ menus_ api/JoplinViews.d.ts /^ private menus_;$/;" p class:JoplinViews
447
+ minimum api/types.ts /^ minimum?: number;$/;" p interface:SettingItem
448
+ module tsconfig.json /^ "module": "commonjs",$/;" s object:compilerOptions
449
+ name api/types.ts /^ name: string;$/;" p interface:Command
450
+ name api/types.ts /^ name: string;$/;" p interface:EditorCommand
451
+ name api/types.ts /^ name?: string;$/;" p interface:SettingSection
452
+ name src/manifest.json /^ "name": "Math Mode",$/;" s
453
+ namedview1 icons/icon.svg /^ inkscape:current-layer="svg1" \/>$/;" i
454
+ newContext src/shared/utils/mathUtils.ts /^ const [ nextLineData, newContext ] = process_next(line, context);$/;" C function:process_all
455
+ newContext src/shared/utils/mathUtils.ts /^ const newContext: ProcessContext = {$/;" C function:process_next
456
+ new_text src/codeMirror/codeMirror6Extension.ts /^ const new_text = tr.newDoc.sliceString(from_b, to_b);$/;" C
457
+ nextLineData src/shared/utils/mathUtils.ts /^ const [ nextLineData, newContext ] = process_next(line, context);$/;" C function:process_all
458
+ noImplicitAny tsconfig.json /^ "noImplicitAny": true,$/;" b object:compilerOptions
459
+ notation src/shared/types.ts /^ notation: string,$/;" p interface:GlobalConfig
460
+ notation src/shared/utils/config.ts /^ notation: 'auto',$/;" C
461
+ ns7d05c0170101 icons/icon.svg /^ xmlns:svg="http:\/\/www.w3.org\/2000\/svg">$/;" n uri:http://www.w3.org/2000/svg
462
+ old_text src/codeMirror/codeMirror6Extension.ts /^ const old_text = tr.startState.doc.sliceString(from_a, to_a);$/;" C
463
+ on api/JoplinFilters.d.ts /^ on(name: string, callback: Function): Promise<void>;$/;" m class:JoplinFilters
464
+ onClick api/types.ts /^ onClick?(): void;$/;" m interface:ButtonSpec
465
+ onClose api/types.ts /^ onClose(context: ExportContext): Promise<void>;$/;" m interface:ExportModule
466
+ onExec api/types.ts /^ onExec(context: ImportContext): Promise<void>;$/;" m interface:ImportModule
467
+ onInit api/types.ts /^ onInit(context: ExportContext): Promise<void>;$/;" m interface:ExportModule
468
+ onProcessItem api/types.ts /^ onProcessItem(context: ExportContext, itemType: number, item: any): Promise<void>;$/;" m interface:ExportModule
469
+ onProcessResource api/types.ts /^ onProcessResource(context: ExportContext, resource: any, filePath: string): Promise<void>;$/;" m interface:ExportModule
470
+ onStart api/types.ts /^ onStart?(event: any): Promise<void>;$/;" m interface:Script
471
+ options api/types.ts /^ options: ExportOptions;$/;" p interface:ExportContext
472
+ options api/types.ts /^ options: any;$/;" p interface:ImportContext
473
+ options api/types.ts /^ options?: Record<any, any>;$/;" p interface:SettingItem
474
+ outDir tsconfig.json /^ "outDir": ".\/dist\/",$/;" s object:compilerOptions
475
+ outputFormat api/types.ts /^ outputFormat?: ImportModuleOutputFormat;$/;" p interface:ImportModule
476
+ panels_ api/JoplinViews.d.ts /^ private panels_;$/;" p class:JoplinViews
477
+ path api/types.ts /^ path?: string;$/;" p interface:ExportOptions
478
+ pathSegmentRegex_ api/JoplinData.d.ts /^ private pathSegmentRegex_;$/;" p class:JoplinData
479
+ pathToString api/JoplinData.d.ts /^ private pathToString;$/;" p class:JoplinData
480
+ permissions .claude/settings.local.json /^ "permissions": {$/;" o
481
+ platforms src/manifest.json /^ "platforms": ["desktop", "mobile"],$/;" a
482
+ plugin api/JoplinContentScripts.d.ts /^ private plugin;$/;" p class:JoplinContentScripts
483
+ plugin api/JoplinPlugins.d.ts /^ private plugin;$/;" p class:JoplinPlugins
484
+ plugin api/JoplinViews.d.ts /^ private plugin;$/;" p class:JoplinViews
485
+ plugin api/JoplinViewsDialogs.d.ts /^ private plugin;$/;" p class:JoplinViewsDialogs
486
+ plugin api/JoplinViewsMenuItems.d.ts /^ private plugin;$/;" p class:JoplinViewsMenuItems
487
+ plugin api/JoplinViewsMenus.d.ts /^ private plugin;$/;" p class:JoplinViewsMenus
488
+ plugin api/JoplinViewsPanels.d.ts /^ private plugin;$/;" p class:JoplinViewsPanels
489
+ plugin api/JoplinViewsToolbarButtons.d.ts /^ private plugin;$/;" p class:JoplinViewsToolbarButtons
490
+ pluginId api/types.ts /^ pluginId: string;$/;" p interface:ContentScriptContext
491
+ plugin_ api/JoplinSettings.d.ts /^ private plugin_;$/;" p class:JoplinSettings
492
+ plugins_ api/Joplin.d.ts /^ private plugins_;$/;" p class:Joplin
493
+ postMessage api/types.ts /^ postMessage: PostMessageHandler;$/;" p interface:ContentScriptContext
494
+ postMessage src/shared/types.ts /^ postMessage(data: any): Promise<any>;$/;" m interface:ContentScriptContext
495
+ precision src/shared/types.ts /^ precision: number,$/;" p interface:GlobalConfig
496
+ processDocumentMath src/markdownIt/processDocument.ts /^export function processDocumentMath(src: string, globalConfig: GlobalConfig): ProcessedDocumentD/;" f
497
+ process_all src/shared/utils/mathUtils.ts /^export function process_all(allLines: string[], options: Options) {$/;" f
498
+ process_config src/shared/utils/mathUtils.ts /^function process_config(line: string, config: any): ConfigLineData {$/;" f
499
+ process_expression_line src/shared/utils/mathUtils.ts /^function process_expression_line(line: string, scope: any, config: any, block_total: string): Ex/;" f
500
+ process_next src/shared/utils/mathUtils.ts /^export function process_next(line: string, context: ProcessContext): [LineData, ProcessContext] /;" f
501
+ proxiedUrl src/exchangeRate.ts /^const proxiedUrl = proxyUrl + encodeURIComponent(euroCentralUrl);$/;" C
502
+ proxyUrl src/exchangeRate.ts /^const proxyUrl = "https:\/\/api.allorigins.win\/raw?url=";$/;" C
503
+ rateAttr src/exchangeRate.ts /^ const rateAttr: any = node.attributes['rate'];$/;" C function:get_rates_from_euro_central
504
+ rates src/shared/utils/update_rates.ts /^ const rates = await get_exchange_rates();$/;" C function:update_rates
505
+ registerExportModule api/JoplinInterop.d.ts /^ registerExportModule(module: ExportModule): Promise<void>;$/;" m class:JoplinInterop
506
+ renderExpressionLine src/markdownIt/renderMath.ts /^export function renderExpressionLine(inputLine: string, lineData: ExpressionLineData, config: Gl/;" f
507
+ renderMathBlock src/markdownIt/renderMath.ts /^export function renderMathBlock(lines: string[], lineDataArray: any[], startLine: number, config/;" f
508
+ rendered src/markdownIt/renderMath.ts /^ const rendered = markdownIt.renderInline(line);$/;" C function:renderMathBlock
509
+ repository_url src/manifest.json /^ "repository_url": "https:\/\/github.com\/CalebJohn\/joplin-math-mode",$/;" s
510
+ require_codemirror_language src/codeMirror/utils/requires.ts /^export function require_codemirror_language(): typeof CodeMirrorLanguage {$/;" f
511
+ require_codemirror_state src/codeMirror/utils/requires.ts /^export function require_codemirror_state(): typeof CodeMirrorState {$/;" f
512
+ require_codemirror_view src/codeMirror/utils/requires.ts /^export function require_codemirror_view(): typeof CodeMirrorView {$/;" f
513
+ res src/codeMirror/codeMirror5Extension.ts /^ const res = create_result_element(lineData, config);$/;" C function:codeMirror5Extension
514
+ res src/codeMirror/utils/create_result_element.ts /^ const res = document.createElement('div');$/;" C
515
+ result src/shared/utils/mathUtils.ts /^ result: string,$/;" p interface:ExpressionLineData
516
+ resultHidden src/shared/utils/mathUtils.ts /^ resultHidden: boolean,$/;" p interface:ExpressionLineData
517
+ result_widget_decoration src/codeMirror/codeMirror6Extension.ts /^ const result_widget_decoration = Decoration.widget({$/;" C
518
+ scope src/shared/types.ts /^ scope: object;$/;" p interface:PluginState
519
+ scope src/shared/utils/mathUtils.ts /^ scope,$/;" C function:process_next
520
+ scope src/shared/utils/mathUtils.ts /^ scope: Record<string, unknown>;$/;" p interface:ProcessContext
521
+ screenshots src/manifest.json /^ "screenshots": [$/;" a
522
+ section api/types.ts /^ section?: string;$/;" p interface:SettingItem
523
+ secure api/types.ts /^ secure?: boolean;$/;" p interface:SettingItem
524
+ serializeApiBody api/JoplinData.d.ts /^ private serializeApiBody;$/;" p class:JoplinData
525
+ settings_ api/Joplin.d.ts /^ private settings_;$/;" p class:Joplin
526
+ shallow_equal src/shared/utils/mathUtils.ts /^function shallow_equal(a: Record<string, any>, b: Record<string, any>) {$/;" f
527
+ simplify src/shared/types.ts /^ simplify: YesOrNo,$/;" p interface:GlobalConfig
528
+ simplify src/shared/utils/config.ts /^ simplify: false,$/;" C
529
+ sodipodi icons/icon.svg /^ xmlns:svg="http:\/\/www.w3.org\/2000\/svg">$/;" n uri:http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd
530
+ sourceFolderIds api/types.ts /^ sourceFolderIds?: string[];$/;" p interface:ExportOptions
531
+ sourceNoteIds api/types.ts /^ sourceNoteIds?: string[];$/;" p interface:ExportOptions
532
+ sourcePath api/types.ts /^ sourcePath: string;$/;" p interface:ImportContext
533
+ sources api/types.ts /^ sources: FileSystemItem[];$/;" p interface:ImportModule
534
+ src src/manifest.json /^ "src": "examples\/euro_trip.png",$/;" s object:screenshots.1
535
+ src src/manifest.json /^ "src": "examples\/road_trip.png",$/;" s object:screenshots.0
536
+ srcLines src/markdownIt/mathModePlugin.ts /^ const srcLines = state.env.mathDocumentData.lines;$/;" C
537
+ srcLines src/markdownIt/mathModePlugin.ts /^ const srcLines = env.mathDocumentData.lines;$/;" C
538
+ startLine src/markdownIt/mathModePlugin.ts /^ let startLine = contentToken.map ? contentToken.map[0] : -1;$/;" v
539
+ startLine src/markdownIt/mathModePlugin.ts /^ let startLine = token.map[0] + 1;$/;" v
540
+ startLine src/markdownIt/renderMath.ts /^ const lineData = lineDataArray[startLine + i];$/;" C function:renderMathBlock
541
+ step api/types.ts /^ step?: number;$/;" p interface:SettingItem
542
+ store api/JoplinViews.d.ts /^ private store;$/;" p class:JoplinViews
543
+ store api/JoplinViewsDialogs.d.ts /^ private store;$/;" p class:JoplinViewsDialogs
544
+ store api/JoplinViewsMenuItems.d.ts /^ private store;$/;" p class:JoplinViewsMenuItems
545
+ store api/JoplinViewsMenus.d.ts /^ private store;$/;" p class:JoplinViewsMenus
546
+ store api/JoplinViewsPanels.d.ts /^ private store;$/;" p class:JoplinViewsPanels
547
+ store api/JoplinViewsToolbarButtons.d.ts /^ private store;$/;" p class:JoplinViewsToolbarButtons
548
+ store api/JoplinWorkspace.d.ts /^ private store;$/;" p class:JoplinWorkspace
549
+ strippedInput src/markdownIt/renderMath.ts /^ const strippedInput = markdownIt.utils.escapeHtml(inputLine.replace(inline_math_regex, ''));$/;" C function:renderExpressionLine
550
+ submenu api/types.ts /^ submenu?: MenuItem[];$/;" p interface:MenuItem
551
+ sum_char src/shared/utils/mathUtils.ts /^ const sum_char = get_sum_type(line);$/;" C function:process_expression_line
552
+ svg icons/icon.svg /^ xmlns:svg="http:\/\/www.w3.org\/2000\/svg">$/;" n uri:http://www.w3.org/2000/svg
553
+ svg1 icons/icon.svg /^ xmlns:svg="http:\/\/www.w3.org\/2000\/svg">$/;" i
554
+ svg_3 icons/icon.svg /^ fill="#000000">=<\/text>$/;" i
555
+ svg_4 icons/icon.svg /^ fill="#ffffff" \/>$/;" i
556
+ syntaxTree src/codeMirror/codeMirror6Extension.ts /^ const { syntaxTree } = require_codemirror_language();$/;" C
557
+ target api/types.ts /^ target: FileSystemItem;$/;" p interface:ExportModule
558
+ target api/types.ts /^ target?: FileSystemItem;$/;" p interface:ExportOptions
559
+ target tsconfig.json /^ "target": "es2015",$/;" s object:compilerOptions
560
+ title api/types.ts /^ title?: string;$/;" p interface:ButtonSpec
561
+ title1 icons/icon.svg /^ id="title1">Layer 1<\/title>$/;" i
562
+ toDOM src/codeMirror/codeMirror6Extension.ts /^ public toDOM() {$/;" m class:MathResultWidget
563
+ token src/markdownIt/mathModePlugin.ts /^ const token = tokens[i];$/;" C
564
+ token src/markdownIt/mathModePlugin.ts /^ const info = token.info ? token.info.trim() : '';$/;" C
565
+ token src/markdownIt/mathModePlugin.ts /^ const token = tokens[idx];$/;" C
566
+ tokens src/markdownIt/mathModePlugin.ts /^ const tokens = state.tokens;$/;" C
567
+ toolbarButtons_ api/JoplinViews.d.ts /^ private toolbarButtons_;$/;" p class:JoplinViews
568
+ total src/shared/utils/mathUtils.ts /^ total: string,$/;" p interface:ExpressionLineData
569
+ total src/shared/utils/mathUtils.ts /^ total: string;$/;" p interface:ProcessContext
570
+ trim_lines src/shared/utils/mathUtils.ts /^export function trim_lines(lines: string[], allow_inline: boolean) {$/;" f
571
+ truthy src/shared/utils/mathUtils.ts /^function truthy(s: string) {$/;" f
572
+ txt src/codeMirror/utils/create_result_element.ts /^ const txt = document.createElement('span');$/;" C
573
+ type api/types.ts /^ type: SettingItemType;$/;" p interface:SettingItem
574
+ type src/shared/utils/mathUtils.ts /^ type: LineDataType.Config,$/;" p interface:ConfigLineData
575
+ type src/shared/utils/mathUtils.ts /^ type: LineDataType.Expression,$/;" p interface:ExpressionLineData
576
+ update_rates src/shared/utils/update_rates.ts /^export async function update_rates() {$/;" f
577
+ update_rates_and_rerender src/codeMirror/codeMirror5Extension.ts /^ const update_rates_and_rerender = async () => {$/;" C
578
+ update_rates_and_rerender src/codeMirror/codeMirror6Extension.ts /^ const update_rates_and_rerender = () => {$/;" C
579
+ userData api/types.ts /^ userData?: any;$/;" p interface:ExportContext
580
+ value api/types.ts /^ value: any;$/;" p interface:SettingItem
581
+ value api/types.ts /^ value?: any;$/;" p interface:EditorCommand
582
+ value src/shared/utils/mathUtils.ts /^ const [ key, value ] = line.split(':', 2);$/;" C function:process_config
583
+ value src/shared/utils/mathUtils.ts /^ for (const [key, value] of Object.entries(a)) {$/;" C function:shallow_equal
584
+ verbose src/shared/types.ts /^ verbose: YesOrNo,$/;" p interface:GlobalConfig
585
+ verbose src/shared/utils/config.ts /^ verbose: true,$/;" C
586
+ version src/manifest.json /^ "version": "0.8.3",$/;" s
587
+ views_ api/Joplin.d.ts /^ private views_;$/;" p class:Joplin
588
+ warnings api/types.ts /^ warnings: string[];$/;" p interface:ImportContext
589
+ wid src/codeMirror/codeMirror5Extension.ts /^ for (const wid of lineInfo.widgets) {$/;" C function:codeMirror5Extension
590
+ withErrors api/JoplinWorkspace.d.ts /^ withErrors: boolean;$/;" p interface:SyncStartEvent
591
+ workspace_ api/Joplin.d.ts /^ private workspace_;$/;" p class:Joplin