Comments (2)
I had a look at this. It looks like elm-syntax checks that function names contain only alpha numeric characters. This excludes letters outside of the ascii alphabet.
There doesn't seem to be an easy fix to this because elm-syntax needs to know if a character is uppercase or lowercase and Elm doesn't provide any API for doing that in general with Unicode characters.
from elm-syntax.
I thought of a hacky solution. We can exploit the fact that String.toLower and String.toUpper do support unicode to implement our own Char.isLower and Char.isUpper
isLower char =
let
stringChar = String.fromChar char
in
case (String.toUpper stringChar == stringChar, String.toLower stringChar == stringChar) of
(False, True) -> True
_ -> False
isUpper char =
let
stringChar = String.fromChar char
in
case (String.toUpper stringChar == stringChar, String.toLower stringChar == stringChar) of
(True, False) -> True
_ -> False
from elm-syntax.
Related Issues (20)
- Parsing failure: Let expressions require at least a space after the `in` keyword
- Lambda expression range is miscalculated when not parenthesized and overlaps next expression by one character
- Proposal: Remove Exposing.exposesFunction
- Have Elm.Syntax.Module contain documentation HOT 2
- Let function documentation is not working HOT 3
- Provide position of tokens
- Range for `TypeAnnotation.Record` is wrong/inconsisent HOT 1
- Parser does not require generic record to have at least one field if no space after `|` HOT 1
- writeDeclaration doesn't print parenthesis around type constructor argument
- Extra line breaks causes parsing to fail
- Rename arguments to parameters
- Add `Node` around `QualifiedNameRef` in `NamedPattern QualifiedNameRef`
- Don't forget to expose Elm.Syntax.DestructurePattern
- Idea: Rename Expression.FunctionOrValue and/or split it HOT 3
- Let functions can't have documentation
- Inconsistent naming for arguments HOT 2
- `n-1` gets misparsed
- `True |> xor True >> not` gets misparsed HOT 2
- Include ranges in tests
- Remove appveyor HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elm-syntax.