Luke Page
5d54af2039
import interpolation finished. refactored the import phase to occur only within the import visitor - so that the import eval env can be passed between imports.
2013-03-01 13:40:54 +00:00
Luke Page
c56db94b7d
Add modified (self altering) visitor pattern and class
2013-03-01 13:40:00 +00:00
Luke Page
241c830e10
Support reading other arguments as default parameters. Fixes #43
2013-02-17 22:25:38 +00:00
Luke Page
988d378922
add evalEnv class and strictMaths option
2013-01-25 20:05:37 +00:00
Spocke
432f89aaf4
Fixed issue where the compress value wouldn't get passed around correctly.
2013-01-05 16:36:17 +00:00
Luke Page
650073e4f1
Scope fix - default parameters are evaluated in the mixin scope, not the
...
caller scope. Fixes #973 .
2012-11-29 19:48:30 +00:00
Luke Page
60b2aa9a77
Fix multiple scoping issues with variables. Fixes #878
2012-11-29 18:40:45 +00:00
Luke Page
5dc7ff50f0
Fix argument matching. Fixes #1036
2012-11-27 13:14:04 +00:00
Luke Page
e5fd5abc60
Do not require default mixin. Fixes #926
2012-11-27 09:28:19 +00:00
Luke Page
8930ad3a44
Re-allow recursive mixins, just not recursive classes. Fixes #1012
2012-10-31 22:16:49 +00:00
Luke Page
1175ddc01c
Fixi important on mixin calls when mixin has rulesets or comments
2012-10-25 11:52:07 +01:00
Luke Page
f3a6761dc5
Look through all scopes for a mixin before giving up. Fixes #413 again
2012-10-24 20:41:32 +01:00
Luke Page
38d2c57016
Make less.js ignore nodes in its own path so infinite recursion does not happen. Fixes #413
2012-10-24 20:16:10 +01:00
Luke Page
e1485dd706
Fix #990 - error message incorrect
2012-10-21 16:16:51 +01:00
Luke Page
1990d8336f
Fix problem with name arguments with arguments variable and if you've specified all the arguments
2012-10-21 15:20:23 +01:00
comfuture
94f70f7121
fixed issue #795
2012-05-06 11:13:30 +09:00
James Foster
1857b7c5aa
Implement named parameters
2012-04-30 03:30:02 +01:00
Alexis Sellier
3e5a336f88
add ability to bind varargs
2012-02-28 19:23:39 +01:00
Alexis Sellier
229856d514
fix error message on wrong-arity call
2012-02-28 18:06:22 +01:00
Alexis Sellier
ac226c6b7f
Variadic argument support
...
.mixin (...) {} // matches any number of arguments
.mixin () {} // matches exactly 0 arguments
.mixin (@a: 1) {} // matches 0-1 arguments
2012-02-28 17:42:29 +01:00
Alexis Sellier
aefd310514
fix Runtime error reports from imported files
2012-01-11 00:55:14 +01:00
Alexis Sellier
aab66a4d10
support '!important' after mixin calls
...
ex: `.mixin(4) !important;`
2012-01-05 21:53:03 +01:00
Alexis Sellier
626d7f1523
additional support for mixin guards
2011-12-24 13:32:13 +01:00
Alexis Sellier
d1cb4aab97
improvements to error messages
2011-12-15 23:42:22 +01:00
Alexis Sellier
321920a50d
mixin guards
...
Allows functional-style guard expressions:
.mixin (@a) ? @a > 0 {...}
2011-12-15 23:38:53 +01:00
Alexis Sellier
c290c48b3f
node 0.5.x compatibility
2011-11-12 13:13:36 +01:00
Alexis Sellier
59d6408ae4
don't re-evaluate arguments on each mixin.call
2011-05-24 12:08:50 -04:00
Alexis Sellier
9939ba5076
better JavaScript evaluation
...
- support for returning Array values
- Expressions/Values are passed as arrays to JavaScript
- fixed some edge cases
2011-05-17 20:47:42 -04:00
Alexis Sellier
02bb402c4d
change @arguments behaviour to be more like js
2011-05-11 12:33:54 -04:00
cloudhead
e199ac8c8e
(new) JavaScript-style 'arguments' variable
2011-01-31 14:10:57 +00:00
Alexis Sellier
0bd18489bc
tweak mixin pattern matching to be more useful
2011-01-20 20:02:15 -05:00
cloudhead
e36080a3ff
preliminary support for evaluating JavaScript code inside LESS
2010-07-08 19:04:36 +02:00
cloudhead
66fa17b274
small refactor in mixin.match
2010-07-08 12:45:43 +02:00
cloudhead
189b1bf089
big refactoring of ruleset.js, move eval code to eval()
2010-07-07 13:53:09 +02:00
cloudhead
22f25e19f2
remove evalRules, use eval
2010-07-07 12:19:15 +02:00
cloudhead
e985bad5f4
fix error messages with no index
2010-07-07 11:58:26 +02:00
cloudhead
04d2d3ab68
make mixins behave like closures
2010-07-06 16:48:05 +02:00
cloudhead
10de9d02e4
critical fix for browser
2010-06-19 14:03:52 -04:00
cloudhead
7984e97559
refactor inheritance in mixin.js
2010-06-19 02:05:09 -04:00
cloudhead
a72966fa6a
removed constructor names
2010-06-19 01:51:26 -04:00
cloudhead
7726f98493
improve error reporting, provide a one line call-stack
2010-06-18 20:12:03 -04:00
cloudhead
7768d41050
better cross-environment handling. stub out require() in browser.
2010-06-15 18:44:59 -04:00
cloudhead
25e3205eb3
Better error messages, wrap browser.js.
2010-06-07 15:47:41 -04:00
cloudhead
f5f0919349
Refactored some of the evaluation mechanisms
...
- Don't call `eval` from `toCSS`
- Every node responds to `eval`
2010-05-07 23:21:16 -04:00
cloudhead
3def6cf5bf
Evaluate arguments before passing them to mixin.
...
Closes #23
2010-05-07 00:41:09 -07:00
cloudhead
f7a6046fc8
rename variables() to variable()
2010-05-07 00:40:21 -07:00
cloudhead
59bd32bb12
be more flexible, pattern matching
2010-05-04 20:37:06 -04:00
cloudhead
d56feee6f0
Support for pattern-matching on mixin calls.
2010-04-25 00:09:40 -04:00
cloudhead
63923283fc
refactored mixin.definition.eval
2010-04-22 13:47:01 -04:00
cloudhead
6f8fa2d858
Fixed mixin calls not working from dynamic mixins
...
Dynamic mixins aren't treated enough like Rulesets.
There is some code duplication which needs to be cleaned up,
ideally they should share a prototype.
2010-04-22 13:34:49 -04:00