Commit Graph

289 Commits

Author SHA1 Message Date
cloudhead
a2133e4b78 functional browser based parsing + css node creation 2010-03-23 01:16:59 -04:00
cloudhead
3287a6ce2c fix typo in browser.js 2010-03-22 23:24:05 -04:00
cloudhead
be5d1999e3 no need for context passing 2010-03-22 23:15:25 -04:00
cloudhead
edf68ec0aa String/trim() 2010-03-22 23:13:47 -04:00
cloudhead
5977640040 optimization level is taken from env now 2010-03-22 23:13:24 -04:00
cloudhead
ca43e06db9 browser.js init -- very basic browser support - Makefile also builds for browser now 2010-03-22 23:12:58 -04:00
cloudhead
a349b9b3fb added render() convenience method. Returns an EventEmitter if no callback was passed. 2010-03-22 21:34:05 -04:00
cloudhead
259a4ad451 refactored the import mechanism, added some doc 2010-03-22 20:59:49 -04:00
cloudhead
336b655e16 allow for passing a context of evaluation to the importer 2010-03-22 20:59:11 -04:00
cloudhead
94f81a5fe0 removed unnecessary require 2010-03-22 20:15:06 -04:00
cloudhead
3253afad27 asynchronous import functionality! All tests passing. 2010-03-21 19:18:47 -04:00
cloudhead
ef97105ce3 made parser reentrant for import support 2010-03-21 19:17:37 -04:00
cloudhead
80905fdc58 no need to pass starting values to toCSS() anymore 2010-03-19 20:14:35 -04:00
cloudhead
40f8671bcd fix to undefined mixin error message 2010-03-19 19:46:37 -04:00
cloudhead
5ee3d47e11 operations.less now passes 2010-03-19 18:47:17 -04:00
cloudhead
10965a9034 allow for operations with no spaces, such as '4+5' 2010-03-19 18:46:42 -04:00
cloudhead
ef61aec5f1 refactored operand(), and take away parsing of -() 2010-03-19 18:05:36 -04:00
cloudhead
f973deec28 refactored rule() cause the closure slows things down too much for some reason 2010-03-19 17:56:43 -04:00
cloudhead
215ef05907 added import.js to less.js 2010-03-19 17:50:48 -04:00
cloudhead
53996b2364 parse() is now asynch, and uses a callback 2010-03-19 17:50:35 -04:00
cloudhead
5088fca537 import.js init 2010-03-18 18:44:03 -04:00
cloudhead
2c0dc223ce Parse @import properly. 2010-03-18 18:13:02 -04:00
cloudhead
00273d452c don't use process.mixin, it's deprecated 2010-03-18 16:42:25 -04:00
cloudhead
79a3b58fa8 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
be11ab6b89 some eval functions for good measure 2010-03-11 15:36:50 -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
9c0fb7174e Cache Selector/toCSS() 2010-03-09 23:58:05 -05:00
cloudhead
77b2a36059 Cache mixin lookups for a nice speed boost. 2010-03-09 23:56:49 -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
acd46cf7c6 refactoring of prototypes 2010-03-07 23:38:10 -05:00
cloudhead
07837a83a7 refactored variable lookup 2010-03-07 23:33:26 -05:00
cloudhead
6228f4a6d2 cache ruleset lookup 2010-03-07 23:11:20 -05:00
cloudhead
a68a2fc6bf cache variable lookup for a 20% speedup 2010-03-07 23:02:16 -05:00
cloudhead
be893c5993 support for nested rulesets inside dynamic mixins, with lexical scoping 2010-03-07 20:20:50 -05:00
cloudhead
d8838a01d0 eval() for Ruleset 2010-03-07 18:50:58 -05:00
cloudhead
7666c71b80 if something other than a Value was passed to the Rule constructor, wrap it in a Value 2010-03-07 18:50:31 -05:00
cloudhead
23775bda9b implemented dynamic mixins 2010-03-07 18:49:54 -05:00
cloudhead
57013ebdf9 comments.js init 2010-03-06 17:54:11 -05:00
cloudhead
2b0853de81 comments, wooh! 2010-03-06 17:53:55 -05:00
cloudhead
808bd55a95 let us just assume that a rule which contains subrules is a ruleset 2010-03-06 17:34:08 -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
d08c1fe559 basic directive css output 2010-03-05 19:23:39 -05:00
cloudhead
f0f425de33 move node/ -> tree/ 2010-03-05 19:19:14 -05:00
cloudhead
287ecff0cf added version number to less.js 2010-03-05 15:33:50 -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
00279d8a06 in an operation, inherit the unit of either operand 2010-03-05 13:36:24 -05:00
cloudhead
74ec956602 just return self if trying to evaluate compound values, seeing as we use eval() for variable lookup/eval 2010-03-05 13:32:07 -05:00
cloudhead
181712e662 minor refactoring in rulesets output 2010-03-05 11:42:52 -05:00
cloudhead
76d4e08b30 the first element of a selector effectively has a descendant combinator, if none was specified 2010-03-05 11:42:13 -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
7e3d8bda32 if a function isnt found, just output it literally 2010-03-04 16:13:19 -05:00
cloudhead
7539ef7323 fixed closing bracket for alpha not showing 2010-03-04 13:55:00 -05:00
cloudhead
6b938971df fixed closing bracket for url not showing 2010-03-04 13:54:32 -05:00
cloudhead
2644014bdf refactored Ruleset/find() method, and added a match() method to Selector, to do selector matching. 2010-03-04 13:50:52 -05:00
cloudhead
3e8abb2abf typo 2010-03-04 13:48:37 -05:00
cloudhead
9cf5f74d31 Element constructor creates new Combinator if a string was passed 2010-03-04 13:48:24 -05:00
cloudhead
756e8d2434 skip variables in toCSS 2010-03-04 01:40:21 -05:00
cloudhead
4aea44f8f8 when evaluating a mixin, compile all matches, instead of just the first one 2010-03-03 22:13:14 -05:00
cloudhead
a1c8d50699 mixin definition constructor init 2010-03-03 21:22:11 -05:00
cloudhead
4767b264e7 basic mixins with namespaces working. swoosh. 2010-03-03 21:21:32 -05:00
cloudhead
fe0ed621b9 added ext/ folder, to hold some core prototype functions 2010-03-03 21:20:07 -05:00
cloudhead
095523bf59 Element constructor defaults to an empty Combinator, if none specified 2010-03-03 20:37:40 -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
cloudhead
14bc6def86 a little clearer ParseError output 2010-03-03 11:59:30 -05:00
cloudhead
3e0ad2bf73 eval method for Keyword 2010-03-03 11:59:08 -05:00
cloudhead
76eb332b24 Use anonymous functions for the parsers.. It saves us some file size. 2010-03-02 14:58:06 -05:00
cloudhead
46060d466f evaluate arguments, before passing them to a function 2010-03-01 21:48:46 -05:00
cloudhead
2682b6dc16 support for hsl(), rgb() etc 2010-03-01 21:48:19 -05:00
cloudhead
60ac2374c9 get functions.js working 2010-03-01 20:03:43 -05:00
cloudhead
6ea12f7aa5 mixin.js init 2010-03-01 19:47:59 -05:00
cloudhead
0c6366faaf functions.js init 2010-03-01 19:47:48 -05:00
cloudhead
f70f6a542c merge node->tree changes 2010-03-01 19:47:32 -05:00
cloudhead
69d973ed29 tree.js init 2010-03-01 15:32:49 -05:00
cloudhead
5ee0209e8a don't use Usage: node [options] script.js [arguments]
-v, --version      print node's version
  --debug[=port]     enable remote debugging via given TCP port
  --debug-brk[=port] as above, but break in node.js and
                     wait for remote debugger to connect
  --cflags           print pre-processor and compiler flags
  --v8-options       print v8 command line options

Documentation can be found at http://nodejs.org/api.html or with 'man node', as it's, um, used by node. Use  instead. Also moved tree.node requires in tree.js
2010-03-01 15:32:21 -05:00
cloudhead
1032c84b98 refactored selector generation a little 2010-02-28 12:50:41 -05:00
cloudhead
f0c00ab2b4 create an empty Combinator if none was specified. Refactored Combinator generation, and added + ~ :: 2010-02-28 12:49:08 -05:00
cloudhead
35b452bf00 error = null, when starting a parse 2010-02-28 01:07:13 -05:00
cloudhead
8ac1bdf06c proper nested selector rendering, wooh. 2010-02-28 01:06:54 -05:00
cloudhead
cd764a2d8c give Element.toCSS a pre-space, useful when building new selectors 2010-02-28 01:05:27 -05:00
cloudhead
35af01d29a () around ternary operators 2010-02-28 01:03:22 -05:00
cloudhead
1c955c8cb3 fixed function name in alpha.js 2010-02-28 01:01:43 -05:00
cloudhead
1e16d0233c ParseErrors dont raise an exception anymore, we just set parser.error to the value of the error 2010-02-27 14:14:52 -05:00
cloudhead
c804ed2ef1 simplified code-gen loop 2010-02-27 14:13:28 -05:00
cloudhead
bd88ab89ef optimize dimension parsing, also fixes weird bug 2010-02-26 22:31:26 -05:00
cloudhead
b6b5d5f10a swap operands when dimension is first, in a color operation, use new operate() function 2010-02-26 22:31:04 -05:00
cloudhead
633660b7af refactored Color & Dimension operations 2010-02-26 22:30:30 -05:00
cloudhead
1c43df1b85 round numbers on color operations 2010-02-26 22:29:51 -05:00
cloudhead
a7ae7c8514 node.operate, to operate on values, based on a string op 2010-02-26 22:29:23 -05:00
cloudhead
fd8aa91ddc improved the chunkification process, and gave different options, as well as an option not to chunkify, through the optimization setting. The ideal split is now \n} 2010-02-26 16:34:49 -05:00
cloudhead
d97b30d9cc replace \r\n with \n 2010-02-26 14:50:26 -05:00
cloudhead
3ce2d7ad19 handle missing ; before a } 2010-02-26 14:49:07 -05:00
cloudhead
0c00a9c8ac handle empty property values 2010-02-26 14:48:32 -05:00
cloudhead
78ae5285d6 handle capitalized alpha() 2010-02-26 14:47:59 -05:00
cloudhead
4c1ce7075b eat tabs 2010-02-26 14:47:32 -05:00
cloudhead
e30851d384 fixed whitespace eating through chunks 2010-02-26 14:47:25 -05:00
cloudhead
c041deacdb fixed parsing of [disabled] style attribute selectors 2010-02-26 11:29:01 -05:00
cloudhead
7b96181f06 minor optimization in element parsing 2010-02-26 11:28:34 -05:00
cloudhead
2dea90afb7 parse *prop for ie 2010-02-26 10:54:48 -05:00
cloudhead
c8b11c7796 added ms unit 2010-02-26 10:36:26 -05:00
cloudhead
b60c296e6e throw a ParseError, instead of just an Error 2010-02-25 22:49:52 -05:00
cloudhead
543fb96a03 parse alpha in call() instead 2010-02-25 22:37:03 -05:00
cloudhead
3f893b8ddc alpha.js init 2010-02-25 22:32:34 -05:00
cloudhead
9970cb0124 parse IE's alpha() 2010-02-25 22:32:13 -05:00
cloudhead
8c45b58524 parse !important 2010-02-25 21:29:34 -05:00
cloudhead
3f753da627 ability to parse more complex directives 2010-02-25 21:29:21 -05:00
cloudhead
3d60c12a68 get attribute parsing going 2010-02-25 21:28:39 -05:00
cloudhead
cc1b5a91c3 pass a context to directive(), so it can parse a block 2010-02-25 21:28:14 -05:00
cloudhead
5038b215fc handle parse error at beginning of file 2010-02-25 21:27:45 -05:00
cloudhead
8a7747d15b url() parsing 2010-02-25 21:27:23 -05:00
cloudhead
b81160107e in a parens expression, just return the Expression for now 2010-02-25 18:01:03 -05:00
cloudhead
a01cb190eb support caps in keywords, for fonts and stuff 2010-02-25 18:00:25 -05:00
cloudhead
a3b1ef0fd6 // comments 2010-02-25 17:59:28 -05:00
cloudhead
6e22c810d0 code style change in variable.js 2010-02-25 17:57:47 -05:00
cloudhead
3b53bb8707 dont output variables 2010-02-25 17:56:21 -05:00
cloudhead
c8f5997c27 Quoted.eval returns self 2010-02-25 17:55:26 -05:00
cloudhead
b84ec0b67f Element doesnt need to have a combinator 2010-02-25 17:55:12 -05:00
cloudhead
dbf7c5c30c per channel color operations. Color can also take an RGB array 2010-02-25 17:54:59 -05:00
cloudhead
c72d5da9c5 proper parser error messages 2010-02-25 15:49:01 -05:00
cloudhead
93a0a0bebf removed trace code from rule.js 2010-02-25 15:37:16 -05:00
cloudhead
ba2a3e88a7 removed all the testing stuff from the server adapter 2010-02-25 15:37:01 -05:00
cloudhead
0dc6c2e4c4 trim whitespace 2010-02-23 23:21:17 -05:00
cloudhead
308d32c587 moved primary rule to the top 2010-02-23 23:21:07 -05:00
cloudhead
01ae902eff chunkify with a zero-width regexp 2010-02-23 23:20:38 -05:00
cloudhead
e339649158 literature, comments 2010-02-23 23:19:31 -05:00
cloudhead
1d1d40b353 adapters for browser/server 2010-02-23 18:01:26 -05:00
cloudhead
1d2b335827 throw error if variable isnt found 2010-02-23 18:00:53 -05:00
cloudhead
ad66408b9f init 2010-02-23 13:39:05 -05:00