Commit Graph

  • 526b4aa15f hexchars escaped in strings don't recieve trailing space ConnorSkees 2020-03-31 11:52:28 -04:00
  • 84b6ca9180 remove superfluous variable ConnorSkees 2020-03-31 11:27:15 -04:00
  • 08f7dba00d implement integer division to an extent ConnorSkees 2020-03-31 02:31:14 -04:00
  • bb87d4f4c0 handle percent op none ConnorSkees 2020-03-31 02:10:22 -04:00
  • 8a600a4f07 implement number minus ident ConnorSkees 2020-03-31 01:52:52 -04:00
  • 90b940fd7d properly omit negative for values that round to zero ConnorSkees 2020-03-31 01:38:57 -04:00
  • 75b896fe3d handle _ and - args interchangably ConnorSkees 2020-03-31 01:22:41 -04:00
  • 5bbf070b95 fn args interchangable hyper underscore ConnorSkees 2020-03-31 01:15:21 -04:00
  • 539243bb6e test for comma separated lists in @each ConnorSkees 2020-03-31 01:08:02 -04:00
  • f7d9d4432a initial implementation of @each ConnorSkees 2020-03-31 01:00:25 -04:00
  • e5b7043480 do not print null values inside list ConnorSkees 2020-03-31 00:27:00 -04:00
  • 806dba12a3 global scope has been implemented ConnorSkees 2020-03-30 17:07:27 -04:00
  • beff60ad31 clippy ConnorSkees 2020-03-30 17:06:23 -04:00
  • e4843180c7 maps are implemented! ConnorSkees 2020-03-30 16:53:27 -04:00
  • 9e3029dbfb better error messages for map-get and map-has-key ConnorSkees 2020-03-30 16:41:00 -04:00
  • 4b1dc39705 handle map-merge key overlaps ConnorSkees 2020-03-30 16:33:43 -04:00
  • c8a21f3500 map-values returns a comma separated list ConnorSkees 2020-03-30 16:21:00 -04:00
  • 3621363e0e map-keys() returns a comma separated list ConnorSkees 2020-03-30 16:14:42 -04:00
  • 5e20f57ee0 () is treated as empty map ConnorSkees 2020-03-30 16:10:02 -04:00
  • 23f7301a25 implement length for maps ConnorSkees 2020-03-30 16:01:44 -04:00
  • eb478b632d initial implementation of maps ConnorSkees 2020-03-30 15:43:15 -04:00
  • 206c3f8179 handle arbitrary parens in function calls ConnorSkees 2020-03-30 15:07:06 -04:00
  • 08dcf0fae7 remove unused symbol and whitespace structs ConnorSkees 2020-03-30 10:47:19 -04:00
  • 2ce639e9be implement > < >= <= ConnorSkees 2020-03-30 10:42:13 -04:00
  • 211a57ebdb refactor tests for add/subtract to different files ConnorSkees 2020-03-30 10:10:51 -04:00
  • e56228d347 2020-03-30 tests ConnorSkees 2020-03-30 03:18:27 -04:00
  • 86729df241 handle \ in selectors ConnorSkees 2020-03-30 03:13:29 -04:00
  • fffdcf91d2 remove old lexing code ConnorSkees 2020-03-30 03:00:47 -04:00
  • 7164728c69 properly handle hash in string ConnorSkees 2020-03-30 02:54:11 -04:00
  • 31ec0cc7f8 properly handle interpolation in selectors ConnorSkees 2020-03-30 02:30:44 -04:00
  • 57a704172f properly handle silent comments in styles ConnorSkees 2020-03-30 02:21:41 -04:00
  • ae0ce9894c variables do not include interpolation ConnorSkees 2020-03-30 01:48:37 -04:00
  • 52349fb730 add ignored test for unicode variables ConnorSkees 2020-03-30 01:40:59 -04:00
  • 9c690140ec allow non-ascii characters in idents ConnorSkees 2020-03-30 01:24:50 -04:00
  • 1e5dc99793 Revert "properly handle unicode characters in identifiers" ConnorSkees 2020-03-30 01:00:17 -04:00
  • dea0610f9b properly handle unicode characters in identifiers ConnorSkees 2020-03-30 00:55:14 -04:00
  • 6608fe3f2f allow negative numbers multiplication ConnorSkees 2020-03-30 00:38:46 -04:00
  • 8f96a821f7 allow id selectors to start with numbers ConnorSkees 2020-03-30 00:18:37 -04:00
  • 5e32225212 test for unary negative on variables ConnorSkees 2020-03-29 23:44:07 -04:00
  • 2a3f13bea0 allow escaped quotes to start idents ConnorSkees 2020-03-29 23:00:39 -04:00
  • 2885eec853 remove commented dbg statements ConnorSkees 2020-03-29 22:21:42 -04:00
  • 5bbf10b05f allow idents to begin with hyphen ConnorSkees 2020-03-29 22:17:56 -04:00
  • 9e38fbc747 remove leftover debug statements ConnorSkees 2020-03-29 19:51:35 -04:00
  • 07505399da remove the lexer ConnorSkees 2020-03-29 13:28:17 -04:00
  • ae5a69a91b move and add string escape tests ConnorSkees 2020-03-25 11:47:26 -04:00
  • f15ab57573 refactor @if/@else if/@else ConnorSkees 2020-03-24 22:13:38 -04:00
  • 6d2d9bcb4a escape all symbols and whitespace ConnorSkees 2020-03-24 13:36:39 -04:00
  • 29166900d2 2020-03-23 tests ConnorSkees 2020-03-24 10:53:21 -04:00
  • b292d56efa refactor function body to allow more than at-rules ConnorSkees 2020-03-24 01:26:23 -04:00
  • 3afe88e2d6 !global variables are also in local scope ConnorSkees 2020-03-24 00:43:09 -04:00
  • 0979f3957b Revert "check global scope for variable before local" ConnorSkees 2020-03-24 00:31:56 -04:00
  • 27a9578b17 check global scope for variable before local ConnorSkees 2020-03-24 00:26:55 -04:00
  • c29088b558 allow trailing commas ConnorSkees 2020-03-24 00:17:18 -04:00
  • 0ded248e1e allow comma separated bracketed list in function args ConnorSkees 2020-03-23 23:52:15 -04:00
  • 430747d06b handle empty bracketed lists ConnorSkees 2020-03-23 23:19:13 -04:00
  • c1ee84b6fc implement builtin function is-bracketed ConnorSkees 2020-03-23 23:08:01 -04:00
  • d88342fd9b rustfmt ConnorSkees 2020-03-23 23:06:05 -04:00
  • 2705d79d1a str-slice by chars rather than bytes ConnorSkees 2020-03-23 22:47:59 -04:00
  • dc0d7c4e89 properly emit more variants of character escape ConnorSkees 2020-03-23 22:26:52 -04:00
  • f69bbb3b69 rustfmt ConnorSkees 2020-03-23 22:13:11 -04:00
  • ae33efcc30 inspect for empty list returns () ConnorSkees 2020-03-23 20:14:47 -04:00
  • cd40ada653 properly escape backslashes in quotes in variables ConnorSkees 2020-03-23 20:09:27 -04:00
  • 981bf27cb8 properly parse and emit bracketed lists ConnorSkees 2020-03-23 19:56:24 -04:00
  • 9233b1d2ba allow semicolons in strings ConnorSkees 2020-03-23 16:29:55 -04:00
  • b7492a8546 mixin-exists allows 2 args ConnorSkees 2020-03-23 15:26:07 -04:00
  • 81c5a34211 function-exists allows 2 args ConnorSkees 2020-03-23 15:25:26 -04:00
  • 4b529a1236 proper error messages in (mixin|function)-exists ConnorSkees 2020-03-23 15:21:59 -04:00
  • e6f2c26bc6 type-of(!important) returns 'string' ConnorSkees 2020-03-23 15:13:19 -04:00
  • 68d2bc7e17 global variables feature-exists ConnorSkees 2020-03-23 15:06:04 -04:00
  • 0f310e9582 proper error message for non-string to feature-exists ConnorSkees 2020-03-23 15:02:50 -04:00
  • b91683b02e implement builtin function global-var-exists ConnorSkees 2020-03-23 14:53:22 -04:00
  • 785c824cd8 check global scope for functions as well ConnorSkees 2020-03-23 14:46:15 -04:00
  • d0b56c57d2 handle quoted strings in variable-exists ConnorSkees 2020-03-23 14:34:03 -04:00
  • 712795544b rustfmt ConnorSkees 2020-03-23 14:33:44 -04:00
  • 991b87f335 str-slice start/end equality does not preclude output ConnorSkees 2020-03-23 14:16:27 -04:00
  • 893c758e13 string length is number of chars ConnorSkees 2020-03-23 14:11:06 -04:00
  • f4f9a79b2b handle large integers in builtin string functions ConnorSkees 2020-03-23 13:57:00 -04:00
  • 795c8bdb05 error messages end in periods ConnorSkees 2020-03-23 12:53:55 -04:00
  • 01c1cf3bb3 prefer the word lightness over luminance ConnorSkees 2020-03-23 12:52:23 -04:00
  • 2698e8257b improve rgb(a)/hsl(a) 1 arg errors ConnorSkees 2020-03-23 12:42:58 -04:00
  • 98a99684b7 refactor quote normalization ConnorSkees 2020-03-23 12:12:08 -04:00
  • 6460c97ef4 better error messages for zero arg hsl(a) ConnorSkees 2020-03-22 23:41:02 -04:00
  • 6aae433d21 better error message for missing rgb/rgba args ConnorSkees 2020-03-22 23:28:19 -04:00
  • 0be8828bf0 make better use of num traits ConnorSkees 2020-03-22 22:28:54 -04:00
  • 0e0b01f595 unquoted, empty strings are null ConnorSkees 2020-03-22 18:36:21 -04:00
  • d19c112765 str-len is a count of characters, not bytes ConnorSkees 2020-03-22 18:24:09 -04:00
  • c392c33ad8 properly insert into empty strings ConnorSkees 2020-03-22 18:13:55 -04:00
  • 92809b1d03 Allow attributes in test macros ConnorSkees 2020-03-22 18:13:19 -04:00
  • 585786318f handle double wide characters in str-insert ConnorSkees 2020-03-22 17:49:21 -04:00
  • 9965fe99fe handle negative numbers more accurately in str-insert ConnorSkees 2020-03-22 17:13:38 -04:00
  • 047fd1d3de handle str-insert edge cases ConnorSkees 2020-03-22 16:48:57 -04:00
  • 9bf2b9d16c implement builtin function str-insert ConnorSkees 2020-03-22 16:14:45 -04:00
  • c0ed933850 implement builtin function str-index ConnorSkees 2020-03-22 15:58:32 -04:00
  • 4d45844b7a list missing features in readme ConnorSkees 2020-03-22 15:44:47 -04:00
  • 415b19fc47 implement @content inside mixins ConnorSkees 2020-03-22 15:08:13 -04:00
  • 907ac3390c refactor functions and mixins into atrule folder ConnorSkees 2020-03-22 14:26:33 -04:00
  • 29011f88bb Implement builtin function join ConnorSkees 2020-03-22 14:04:16 -04:00
  • f9730b9ec5 HACK: somewhat handle unicode escapes ConnorSkees 2020-03-22 13:45:41 -04:00
  • 2f0fbd2415 @if/@else tests ConnorSkees 2020-03-22 02:18:15 -04:00
  • f1238c4d3a implement @if/@else ConnorSkees 2020-03-22 02:14:01 -04:00