Commit Graph

87 Commits

Author SHA1 Message Date
cloudhead
f35d035e51 support CSS3 @media more fully 2010-05-22 18:24:37 -04:00
cloudhead
d6934147d9 support [0-9_] in CSS attribute names 2010-05-22 15:13:02 -04:00
cloudhead
70045e9c4b (minor) formatting 2010-05-18 21:16:44 -04:00
James Foster
e501f2e47c Fixes for IE7 compatibility 2010-05-19 08:52:49 +08:00
cloudhead
61c2b5877a (minor) formatting 2010-05-18 19:51:24 -04:00
cloudhead
414fbc9dd4 [#.] is not optional in a mixin call 2010-05-18 19:49:19 -04:00
cloudhead
eaf3c7d187 removed wildcard parser 2010-05-18 19:12: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
59bd32bb12 be more flexible, pattern matching 2010-05-04 20:37:06 -04:00
cloudhead
1dcb4e77cb make operations left-associative Closes #20 2010-05-03 14:25:12 -04:00
cloudhead
d75becf9ba New % function, to perform string interpolation 2010-04-30 14:06:36 -04:00
cloudhead
7a4e0ff77a fixed selector attributes not parsing with a '-' 2010-04-28 17:29:22 -04:00
cloudhead
e1062efa98 Overhaul of the error system
The parse() function no longer assumes the command-line is the output
device. We use less.writeError in node.js.
2010-04-25 19:39:21 -04:00
cloudhead
d56feee6f0 Support for pattern-matching on mixin calls. 2010-04-25 00:09:40 -04:00
cloudhead
2ebbf37c4b More accurate parse error messages
Because of the backtracking, we lose the previous point of failure.
The solution is to store the furthest point the parser has parsed to,
when backtracking, and using it when showing parse errors.
2010-04-25 00:06:45 -04:00
cloudhead
1e0cfe9ac1 Reorganized some of the parsing rule order
- Fix for "{" not parsing
- Use some backtracking when necessary,
  it's prettier than crazy lookaheads.
2010-04-21 10:12:29 -04:00
cloudhead
e3df96762e quote 'import' so it doesn't freak out 2010-03-29 22:24:33 -04:00
cloudhead
660d2f76ba fix optimization option wrongly scoped 2010-03-29 22:13:36 -04:00
cloudhead
5c1f326287 no need for context passing 2010-03-22 23:15:25 -04:00
cloudhead
06bf75c3a2 optimization level is taken from env now 2010-03-22 23:13:24 -04:00
cloudhead
823d69fd67 browser.js init -- very basic browser support - Makefile also builds for browser now 2010-03-22 23:12:58 -04:00
cloudhead
d0b6573017 refactored the import mechanism, added some doc 2010-03-22 20:59:49 -04:00
cloudhead
2b4b0cbdf6 made parser reentrant for import support 2010-03-21 19:17:37 -04:00
cloudhead
38ffbb40ac allow for operations with no spaces, such as '4+5' 2010-03-19 18:46:42 -04:00
cloudhead
4bbc382300 refactored operand(), and take away parsing of -() 2010-03-19 18:05:36 -04:00
cloudhead
e7954adcc0 refactored rule() cause the closure slows things down too much for some reason 2010-03-19 17:56:43 -04:00
cloudhead
4ae9e31c40 parse() is now asynch, and uses a callback 2010-03-19 17:50:35 -04:00
cloudhead
d08072d0dd Parse @import properly. 2010-03-18 18:13:02 -04:00
cloudhead
8812c45c77 fixed scope problem in parser 2010-03-18 14:49:10 -04:00
cloudhead
854f65f079 Refactored parsers.rule 2010-03-13 20:15:44 -05:00
cloudhead
61a7b2e9e7 Added lots more documentation to the parser 2010-03-13 20:14:44 -05:00
cloudhead
fe732e843c refactor of module system. Things work properly now, and it's all much cleaner. 2010-03-13 03:34:48 -05:00
cloudhead
e0623094fa part 2 of the comment pass 2010-03-12 15:03:05 -05:00
cloudhead
9c84b50d5b we need to make sure we're not eating a '-' in the operation parsing, it fucks up our generation of functions which start with a - 2010-03-11 15:36:32 -05:00
cloudhead
8adac6569e output directives properly 2010-03-11 15:35:23 -05:00
cloudhead
553aaecf6a font property parsing, mainly the 'small/12px' part. 2010-03-11 15:34:57 -05:00
cloudhead
c4413facad did some refactoring in the parser, so we don't need to pass variables
to the $() function anymore. We also don't need to pass arrays around.
2010-03-08 23:45:57 -05:00
cloudhead
23775bda9b implemented dynamic mixins 2010-03-07 18:49:54 -05:00
cloudhead
2b0853de81 comments, wooh! 2010-03-06 17:53:55 -05:00
cloudhead
7b151447b1 peek() can take a string too now 2010-03-05 21:51:45 -05:00
cloudhead
289a775e83 simplified rule regex 2010-03-05 21:45:23 -05:00
cloudhead
b2d242ba39 some optimizations to make the parser run faster 2010-03-05 21:08:41 -05:00
cloudhead
0af5632531 renamed string to quoted, to match the node 2010-03-05 14:56:27 -05:00
cloudhead
cd5bddff99 when parsing a string, capture the content too 2010-03-05 14:55:21 -05:00
cloudhead
476581f77a getting combinators to output properly. some little hacks, but it beats having a white-space sensitive grammar 2010-03-05 11:39:39 -05:00
cloudhead
b4f3e9029c output strings in attribute selectors properly 2010-03-04 16:13:48 -05:00
cloudhead
4767b264e7 basic mixins with namespaces working. swoosh. 2010-03-03 21:21:32 -05:00
cloudhead
e9c6645b2c end rule 2010-03-03 12:01:17 -05:00
cloudhead
e6c5c57755 inverse style to stylize 2010-03-03 12:01:06 -05:00
cloudhead
efab821115 parse mixins, including namespace. For now, lets focus on one mixin per rule 2010-03-03 12:00:55 -05:00