-
Notifications
You must be signed in to change notification settings - Fork 336
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
Allow single-quoted strings to be the same as double-quoted strings #714
Comments
This is intentional I'm afraid. Difftastic is a syntactic differ, and semantic information about which string literals are equivalent are out of scope. In some languages, single-quoted strings and double-quoted strings are different (e.g. in bash or PHP) due to different interpolation rules. |
Fair. Any chance you can point me to a place where I can make this change in my forked repo? Something like a place where difftastic gets a list of changes to output? I want to manually remove single/double quote differences. |
@eduard93 you should be able to change what's considered the content of the Atom when it's a string here: difftastic/src/parse/syntax.rs Line 411 in b88b405
If it's an AtomKind::String, drop the first and last characters of |
Thinking about this some more, I think this is a worthwhile addition, but language configurations should opt-in to it. |
First and last characters are not very clean I am aftaid. The Python itself has variable length of string delimiters. Multiline strings (syntactically different to usual my_string = """Hello, World!
I love multiline strings.
"""
other_string = '''Hello, World!
I love multiline strings.
'''
assert my_string == other_string Good news is that TS understands this; so maybe we can opt-in to take left and right node around the string? Here is generated tree, note "string_start" and "string_end" nodes. |
Great tool!
(1) A description of the issue. A screenshot is often helpful too.
I'm comparing two python files, where the majority of changes is a swap between single and double quotes, which should be ignored.
However difftastic shows quote changes as a difference.
(2) A copy of what you're diffing. I'm diffing files.
Before:
After:
Expected result: no differences.
(3) The version of difftastic you're using (see
difft --version
) and your operating system.Difftastic 0.58.0 (0c92771 2024-05-10, built with rustc 1.65.0)
Running on Windows 11.
The text was updated successfully, but these errors were encountered: