Shopify / ruby-lsp

An opinionated language server for Ruby
https://shopify.github.io/ruby-lsp/
MIT License
1.33k stars 118 forks source link

Update prism requirement from >= 0.23.0, < 0.25 to >= 0.23.0, < 0.27 #1956

Closed dependabot[bot] closed 3 weeks ago

dependabot[bot] commented 3 weeks ago

Updates the requirements on prism to permit the latest version.

Release notes

Sourced from prism's releases.

v0.25.0

Added

  • Prism::Translation::Ripper is now able to mirror all of the Ripper APIs.
  • Prism::Location#leading_comments and Prism::Location#trailing_comments is added.
  • Prism::Comment#slice is added.
  • Warn for writing literal values in conditional predicates.
  • Check for _POSIX_MAPPED_FILES before using mmap.
  • Prism::ItParametersNode is added, to support -> { it }.
  • Parse integer and float literal values onto the tree.
  • Warn on duplicated hash keys and duplicated when clauses.
  • Ship much improved RBI and RBS types.
  • Support for the -p, -n, -a, and -l command line switches.
  • Warn on integer literals in flip-flops.
  • Support BSD make.
  • Add Prism::WhenNode#then_keyword_loc.
  • Support custom allocation functions through the PRISM_XALLOCATOR define.
  • Warn for certain keywrods at the end of the line.
  • Provide pm_visit_node, a C visitor API.
  • Prism::parse_stream is added, which works for any Ruby IO object.
  • Provide flags for regular expression literals for their derived encoding.
  • Provide flags for whether or not an interpolated string literal is frozen.
  • Add Prism::StringNode.mutable? for when a string is explicitly mutable, to support delineating chilled strings.
  • Warn for incorrect character literal syntax.
  • Warn for chained comparison operators.
  • Warn for ** interpreted as an argument prefix.
  • Warn for & interpreted as an argument prefix.
  • Prism::ShareableConstantNode added to support ractors.
  • Warn for frozen string literals found after tokens.
  • Support PRISM_BUILD_MINIMAL to provide only the minimal necessary functionality to reduce the binary size.
  • Handle CLRF inside heredocs, strings, and regular expressions.
  • Mark inner strings in interpolated strings as frozen.
  • Support the -x command line switch.
  • Error messages now much more closely mirror CRuby.
  • Provide syntax errors for invalid block exits (break, next, retry, and yield).
  • Warn on unused local variables.
  • Do not syntax error on default parameter values that only write to the parameter.

Changed

  • Many improvements to the compatibility with the whitequark/parser translation.
  • Accept newlines before pattern terminators ) or ].
  • Prism::Node#start_offset and Prism::Node#end_offset are now much more efficient.
  • Read files using fread instead of mmap when we're going to keep around the source through the Ruby API.
  • Fix Sexp#line_max setting in the seattlerb/ruby_parser translation layer.
  • Allow spaces before the encoding comment.
Changelog

Sourced from prism's changelog.

[0.26.0] - 2024-04-18

Added

  • Add Prism::Node::fields, which returns a list of Prism::Reflection::Field objects representing the fields of the node class. This is useful in metaprogramming contexts.
  • Prism::Location#chop, for removing the last byte from a location.
  • The void statement warning is now implemented.
  • The unreachable statement warning is now implemented.
  • A syntax error has been added for block arguments on yields, e.g., yield(&foo).

Changed

  • Better fidelity to parser when translating heredocs with interpolation.
  • Fixed RBI and RBS types for Prism::parse_* signatures.
  • Remove some incorrect warnings about unused local variables.
  • More closely match CRuby error messages for global variables.
  • Fix an issue with parser translation when line continuations are found in string literals.

[0.25.0] - 2024-04-05

Added

  • Prism::Translation::Ripper is now able to mirror all of the Ripper APIs.
  • Prism::Location#leading_comments and Prism::Location#trailing_comments is added.
  • Prism::Comment#slice is added.
  • Warn for writing literal values in conditional predicates.
  • Check for _POSIX_MAPPED_FILES before using mmap.
  • Prism::ItParametersNode is added, to support -> { it }.
  • Parse integer and float literal values onto the tree.
  • Warn on duplicated hash keys and duplicated when clauses.
  • Ship much improved RBI and RBS types.
  • Support for the -p, -n, -a, and -l command line switches.
  • Warn on integer literals in flip-flops.
  • Support BSD make.
  • Add Prism::WhenNode#then_keyword_loc.
  • Support custom allocation functions through the PRISM_XALLOCATOR define.
  • Warn for certain keywrods at the end of the line.
  • Provide pm_visit_node, a C visitor API.
  • Prism::parse_stream is added, which works for any Ruby IO object.
  • Provide flags for regular expression literals for their derived encoding.
  • Provide flags for whether or not an interpolated string literal is frozen.
  • Add Prism::StringNode.mutable? for when a string is explicitly mutable, to support delineating chilled strings.
  • Warn for incorrect character literal syntax.
  • Warn for chained comparison operators.
  • Warn for ** interpreted as an argument prefix.
  • Warn for & interpreted as an argument prefix.
  • Prism::ShareableConstantNode added to support ractors.
  • Warn for frozen string literals found after tokens.
  • Support PRISM_BUILD_MINIMAL to provide only the minimal necessary functionality to reduce the binary size.
  • Handle CLRF inside heredocs, strings, and regular expressions.

... (truncated)

Commits
  • b0a4810 Update releasing instructions
  • eadb09e Bump to v0.26.0
  • bfde113 Merge pull request #2714 from ruby/fix-transpose-issue
  • 593d637 "Fix" transpose issue in parser compiler
  • 26f9fcf Merge pull request #2710 from ParadoxV5/gemspec-parser-rbi
  • 5c6c460 add #2709’s new RBIs to .gemspec
  • bfb20ab Merge pull request #2709 from ruby/reflection
  • f3f9950 Add a reflection API for determining the fields of a node
  • b42b9c0 Merge pull request #2705 from ParadoxV5/rbconfig-make
  • bf02281 Merge pull request #2708 from ruby/simplify
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
vinistock commented 3 weeks ago

Being worked on #1953

dependabot[bot] commented 3 weeks ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.