Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try to impove string parsing/escaping. #51

Merged
merged 1 commit into from
Jul 4, 2019
Merged

Conversation

kaj
Copy link
Owner

@kaj kaj commented Jun 26, 2019

Get some more string parsing tests working (some tests starts to fail instead, but they are fewer and higher numbered in the interpolate suite).

@kaj kaj merged commit 5664428 into master Jul 4, 2019
@kaj kaj deleted the new-escape-normalizing branch July 4, 2019 17:22
kaj added a commit that referenced this pull request Jul 6, 2019
* PR #51: Impove string parsing/escaping.
* Issue #46, PR #47: Report file position of parse errors, and improve
  the parser to have errors reported in a more specific position.
* Improve error handling in functions, calling a function _can_ yield
  an error.  Partially solves #41: The unsupported call will now yield
  an error rather than hang `rsass`.
* Commandline changes:
  - Support -I commandline argument for include path.
  - Use lowercase -v for version (expected by the test runner).
* Some color function improvements:
  - Handle alpha percentatges in rgba.
  - The rgb function can be used as rgba with four args.
  - Use alpha propely when mixing colors.
  - Handle both alpha and opacity css function fallback.
  - Implement the grayscale function.
  - Support three arguments to `rgba` function.
* Some list function improvements:
  - `inspect` shows parens for empty list, and spells out `"null"` for
    a null value.
  - Join gets better at selecting wether result should be comma or
    space separated.
  - The length function treats a null as an empty list.
  - Handle singleton in `index` and `nth` functions.
* More function improvements:
  - Implement the `unique_id` function.
  - Check that indexes are sane in `str_slice` function.
  - Skip null args even if not last when evaluating a function to a
    function call.
  - Implement equality check for builtin functions.
* Error, not panic, on unknown mixin.
* Allow modifiers on attribute selectors.
* Color names are caseless.
* Improve handling of url imports.
* Update `deunicode` to 1.0 and `rand` to 0.7.0.
* Allow interpolation in namespacerule.
* Allow ";" after body block.
* Lots of test suite updates, including support for .hrx tests in
  spectest.  Target libsass compatibility in testing.

I don't really know if I should target libsass or dart-sass
compatibility, but libsass seems to be closer to my current
implementation, so target that at least for now.

Thanks to @maxbrunsfeld and @glebm for code and suggestions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant