jeremy@jermolene.com
81002f9f30
Merge branch 'master' into parameterised-transclusions
2023-01-17 16:40:47 +00:00
Saq Imtiaz
dd6e00687b
Adds support for indenting pragmas with whitespace ( #7185 )
...
* feat: first pass at allowing pragmas to be indented
* Added documentation
2023-01-08 13:17:01 +00:00
jeremy@jermolene.com
b5e4b21707
Merge branch 'master' into parameterised-transclusions
2022-11-27 12:40:51 +00:00
jeremy@jermolene.com
00927d2e13
Add parsermode pragma
...
Fixes #7058
2022-11-23 22:35:32 +00:00
jeremy@jermolene.com
52592a4dbc
Add support for named end markers for procedures, functions and widgets
2022-11-23 16:30:20 +00:00
jeremy@jermolene.com
778b8dec7f
Merge branch 'master' into parameterised-transclusions
2022-11-23 09:01:42 +00:00
Jeremy Ruston
cb0d0cfa6d
Support nested macro definitions ( #7004 )
...
* First commit
* Switched to \end <name> instead of all those repeated backslashes
Thanks @kookma. See https://github.com/Jermolene/TiddlyWiki5/pull/7004#issuecomment-1286429236
* Docs update
2022-11-22 17:10:37 +00:00
jeremy@jermolene.com
32710ef9e6
Merge branch 'master' into parameterised-transclusions
2022-10-18 17:23:57 +01:00
jeremy@jermolene.com
5194b24108
Parameter parenthesis should be mandatory in function/procedure/widget definitions
...
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1280404387
2022-10-17 08:31:07 +01:00
jeremy@jermolene.com
b531984f50
Restore "Add default settings for styled inline SPANs ( #6877 )"
...
This reverts commit 6f98edd6bd
.
2022-10-16 17:28:36 +01:00
jeremy@jermolene.com
6f98edd6bd
Revert "Add default settings for styled inline SPANs ( #6877 )" because of failed tests
...
This reverts commit 23e0eeb556
.
2022-10-07 18:43:09 +01:00
Mario Pietsch
23e0eeb556
Add default settings for styled inline SPANs ( #6877 )
...
* add default settings for styled inline SPANs
* change color names in palettes and vanilla-base
* change parser behaviour if custom class is used
* tc-inline-style will only be set if no other custom setting is appliead
* Add tests for inline-styles
* add one more test
* remove space after if
2022-10-07 18:05:49 +01:00
jeremy@jermolene.com
93100a1c8f
Remove support for conditional definitions
...
It was introduced for use cases associated with the global mechanism that was dropped in e3d13696c8
2022-10-03 14:39:45 +01:00
jeremy@jermolene.com
fddaa9fdb1
Merge branch 'master' into parameterised-transclusions
2022-09-24 11:07:53 +01:00
jeremy@jermolene.com
166a156584
Fix typo: Safe mode should prevent globally disabling parser rules
2022-09-23 18:08:28 +01:00
jeremy@jermolene.com
7b465888c8
Revert "WIP"
...
This reverts commit 8654dfc679
.
2022-09-04 16:43:40 +01:00
jeremy@jermolene.com
8654dfc679
WIP
2022-09-04 16:41:25 +01:00
jeremy@jermolene.com
1b08cd40bf
Coding style tweak
2022-09-03 16:36:36 +01:00
jeremy@jermolene.com
006ae6e759
Refactor $parameters widget
...
The objective is to add a $depth attribute so that it is possible to reach up to retrieve the parameters of ancestor transclusions. However, doing so requires changing the encoding of parameter names so that it is not possible for a user parameter to clash with an attribute like $depth. So now we have to double up dollars on any attribute names seen by the parameters widget, just like with the transclude widget itself.
2022-05-31 09:03:20 +01:00
jeremy@jermolene.com
9424e9d1f2
Cleaning up after f636349007
2022-05-28 17:32:09 +01:00
jeremy@jermolene.com
5d413d3e2d
Change to ?
for conditional definitions
2022-05-28 13:49:02 +01:00
jeremy@jermolene.com
f636349007
Introduce true global variables
...
The basic idea is that if we don't find a variable `foo` then we fallback to retrieving the value from the tiddler `$:/global/foo`, if it exists.
This allows us to replace the usual importvariables-based mechanism for global definitions, avoiding cluttering up the variable namespace with every macro.
In order to permit subprocedures to be overridden, we also introduce a mechanism for conditional definitions: preceding the word definition|procedure|function|widget with a + causes the definition only to occur if the specified variable doesn't already exist. In the next commit we'll apply this mechanism to the tabs macro
2022-05-28 12:23:50 +01:00
jeremy@jermolene.com
a2fbebf509
Add utility function for parsing macro parameter definitions
2022-05-27 18:37:42 +01:00
jeremy@jermolene.com
22e7ec2381
Procedures and widgets inherit whitespace trim setting from their definition
2022-05-23 15:30:33 +01:00
jeremy@jermolene.com
e50101322f
Require $$ for custom widgets, and that overridden JS widgets must exist
...
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1133637763
2022-05-21 15:47:19 +01:00
jeremy@jermolene.com
36cf50aa96
Use \widget for custom widget definitions, and remove need for angle brackets
...
Need to do some refactoring of all those isFunctionDefinition/isProcedureDefinition/isWidgetDefinition flags into a single property
2022-05-13 08:49:53 +01:00
jeremy@jermolene.com
e092113f9f
Switch to using \procedure to define new-style macros, and \function for custom filter operator functions
...
I now need to update the OP!
2022-05-09 18:00:09 +01:00
jeremy@jermolene.com
e9630328f1
Extend transclude widget to work with old-style macros and use it for the macrocall shortcut syntax
2022-05-08 15:59:20 +01:00
jeremy@jermolene.com
9be05f6f38
Use consistent parse tree node property for params
2022-05-07 13:22:53 +01:00
jeremy@jermolene.com
a888cd57cd
Unquoted parameters should not eat a succeeding comma
...
Fixes #6672
2022-05-02 13:49:41 +01:00
jeremy@jermolene.com
fbd0357cae
Mustn't allow commas in parameter names
2022-05-02 11:04:32 +01:00
jeremy@jermolene.com
ea7199600d
Be as permissive as possible with parameter names
...
Previously restricted to upper and lower case, digits and dash and underscore
2022-05-02 10:56:09 +01:00
jeremy@jermolene.com
8b867be8ef
Add pragma rule for parameters declarations
2022-05-02 09:15:45 +01:00
jeremy@jermolene.com
99750d78b5
Allow brackets to be omitted for function definitions with no parameters
2022-04-30 13:06:28 +01:00
jeremy@jermolene.com
c9bd1b5274
Add wikitext shortcut for new-style function definitions
2022-04-30 12:44:26 +01:00
jeremy@jermolene.com
886c8620f5
Replace ubertransclude widget with transclude widget
2022-04-30 10:00:38 +01:00
jeremy@jermolene.com
5bcf7b9edd
Add support for shortcut syntax for positional transclusion parameters
2022-04-29 22:35:47 +01:00
jeremy@jermolene.com
9713da5071
Add support for positional parameters
2022-04-26 21:55:43 +01:00
jeremy@jermolene.com
cd0617f033
Use the ubertransclude widget for the wikitext transclusion syntax
2022-04-26 12:45:05 +01:00
Jeremy Ruston
23b4e03cd5
Extend HTML tag parser to maintain an ordered array of attribute names ( #6132 )
...
* Extend HTML tag parser to maintain an ordered array of attribute names
* Add some tests for repeated attributes
* Record entire attribute in orderedAttributes array so that we can work with duplicated attributes
2021-10-27 11:35:12 +01:00
jeremy@jermolene.com
5f57bf81cd
Merge branch 'pr/4977'
2021-10-27 11:18:57 +01:00
Mario Pietsch
9c0d6a46cc
Add "commentpragma" html style rule ( #5726 )
...
* html-comment, that can be used in the pragma area
* add commentpragma test
* fix typo
* fix typo and change comments ab bit
* combine html-comment and pragma-comment and add some docs, how to use it
* Make docs simpler by removing caching info
* change h2 wording
2021-06-14 17:39:56 +01:00
Joe Bordes
82ec63e711
style(App) eliminate whitespace at the end of code lines ( #5735 )
2021-05-30 19:20:17 +01:00
Miha Lunar
9b247f6d63
Removed fallback range logic
2021-05-29 20:30:04 +02:00
Cameron Fischer
61714cbda3
Fixed super minor issue with import pragma ( #5521 )
2021-05-23 17:39:06 +01:00
Miha Lunar
62fdaa633a
Fixed fallback range logic + added ranges to tests
2021-04-25 16:03:35 +02:00
Miha Lunar
79f5e6b498
Merge remote-tracking branch 'origin/master' into parser-ranges
2021-04-25 13:17:44 +02:00
Miha Lunar
23bd7e7817
Replaced restructuring and added fallback comment
2021-04-25 13:12:45 +02:00
jeremy@jermolene.com
9f9ce6595b
Make it easier to subclass the wikitext parser with a custom rule set
...
We can now pass arrays of rule classes to the parser constructor, overriding the rules that would normally be used by the parser.
This allows us to create custom variants of the wikitext parser with their own content type.
It could also provide a basis for a new Markdown parser based on our existing wikitext parser but with new rules.
2021-02-03 15:13:56 +00:00
Cameron Fischer
4c7dcb83d1
Fix for #3306 , inline/block widget glitch ( #5452 )
...
* Fix for #3306 , inline/block widget glitch
* Just realized we don't need to set lastIndex anymore
* Forgot that parseBlocks doesn't use options
2021-01-29 14:57:30 +00:00