Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* detect clashing gleam and javascript modules * undo erlang-gleam conflict check Ideally, `src/abc.gleam` and `src/abc.erl` would cause an error. However, this can actually occur legitimately when downloading a Hex package with precompiled `.erl` source files, which would trigger false positives. Wonder what would be the best way to detect this situation, but doesn't seem trivial to solve. * separate .gleam codepath * add subdir_ffi integration tests * add subdir_ffi test to ci * use EcoString, add subdir Erlang file tests * more robust subdir_ffi tests - Test header file in separate subdir - Test parent folder ffi in Erlang * use walkdir for native file search - Prevent problems with infinite symlink loops * add module and native file clash error * add error for duplicate native erlang module * update changelog with ffi subdir info add mjs bug fix to changelog update changelog to include erl ffi files update changelog with js ffi change * final nested ffi improvements * custom dirwalker * fix test project compiler * dir walker: don't canonicalize returned paths * replace reader methods by dirwalker * add dir walking test * fix phony in subdir_ffi test * add trace back to gleam_source_files * improve dir walker comments * use imfs subpaths for initial files in tests We were previously including all paths in the filesystem, which included, in particular, the root. Therefore, the "initial files" included the root directory, causing everything to be deleted, not only the initial files. * add note about root path * ensure imfs has root * cannot delete root from imfs * fix tests by using 'files' * Remove some indentation * code action to turn into use * CHANGELOG * fix small indentation bug * rename action * rebase gone wrong * fix code generated for nested record updates on erlang. * run cargo fmt * glistix/nix: add nested record update test * Reintroduce exhaustiveness checking for `use` (#3880) * Fix changelog * update CODE_OF_CONDUCT.md * Update email * Allow qualified records in clause guards * Changes! * Improve unused value reporting * CHANGELOG! * rename function * use * address review comments * more tests for use * Implement `let assert ... as` syntax * Implement formatting for `let assert ... as` * Add tests * Changelog * Version tracking * Integrate code action * Feature will appear in 1.7 * Fix rebase * Implement code action to convert inexhaustive `let` to `case` * Clippy * Fix tests after rebase * Clippy * Remove comment * Make checks harder to ignore * Update required stdlib version * Oops * Run gleam format on language_test.gleam * fix string prefix assignments in nested patterns * update CHANGELOG.md * remove debug println * Mark removed modules as stale * Use iterator instead of collect() * rebase fix * fix typo * fix typo * fix incorrection * more testing with attrs in variants and error message * shorter error span * all variants error in analyse phase * remove removed snapshot test in parser that was moved to analysis * adjust formater * fix formatting * lsp & cleanup * tests * version tracking * suggested fixes * fix * fix * fix comments * fix: suggested fixes * fix * fix * feature increase version * Use correct naming convention * Formatter tests * Fix clippy warnings for 1.83 * fix: typo in indexing tuple error * update tests * Update capnp * Replaced textwrap package with custom implementation * glistix/nix: update tests with new textwrap impl * Update deps * Handle files correctly in LS Closes gleam#3882 * Fix unsafe ints on JS not warning if an @external fn is called prior * fix typo in all_direct_dependencies * move dependencies tests to separate module * implement remove by using the new dependency unlocking mechanism fix #3887 * refactor the new remove to be able to test it * tests! * update CHANGELOG.md * refactor(error): Remove potentially confusing hint about unwrapping results * chore: Update CHANGELOG.mb * Improve performance of bit array slices on JavaScript * feat: check for exposing multiple modules on publish * Fix nested tuple access bug * Format * gleam hex create-key * Store a key locally * Start using local token * Plumbing! * Nice errors * Update yanked dep * Permit unicode licence * Changes! * Use format * Avoid requiring the old local password * chore: Update CHANGELOG * fix: do not use code:del_paths since that function is not available on older versions of Erlang. * feat: check if module have type with the same name * fix: test snapshot * differentiate usage or import * test snapshot * refactor: keep context and type_with_same_name * changlog! * fix naming * fix spelling * Fix caching issue with variant inference * Changelog * fix unicode bugs * add a test project with a unicode symbol to ci * Improve clarity of error messages for unknown record fields. * Remove extra logging * Try and make message clearer * Update deps * Add canonical link * Add snapshots * Add host, add page canonical * Updated snapshot * Remove typo snapshot * Remove duplicate host * Add no hex publish test. Add project name to docs tests * Update CHANGELOG * Move docs head block to docs layout * Complete project_name updates * chore: format lists the same in constants as in expressions * changelog! * chore: fix test * Fix typo in error message for 'use' * Improve unused variable warnings * Use option * extract into variable * CHANGELOG * expand function capture * changelog * LSP: Include braces in type import completions * update test case * changelog! * Fix bug with extract variable top level statements * Fix bug extracting module selects * Tweak code actions * Add GitHub workflows to verify binary architecture matches target architecture * Refactor and extract bash script verifying that binary architecture matches target architecture * Run GitHub workflows to verify binary architecture manually instead of on push * Add GitHub workflow steps to verify that binary architecture matches target architecture * Fix formatting * Refactor binary architecture verification script to use file command on Windows * Refactor binary architecture verification script and reverse architecture normalization logic * Refactor binary architecture verfifcation script and extract matching patterns for better understanding * Refactor binary architecture verification script and extract functions for better understanding * Add debug information in case of failure of binary architecture verification script * Reuse same architecture parsing and normalization logic for target and binary architectures in verification script * Extract architecture patterns in binary verification script * Simplify binary architecture verification script * Improve structure of binary architecture verification script * Change wording to align more closely to rest of Gleam * Remove GitHub workflows for testing binary architecture script * Refactored by duplicating expected binary architectures and verification script accross all three GitHub workflows as per Louis preference * Fix formatting of GitHub workflows * glistix: fix binary names in workflows * Add better help texts for Error::ShellProgramNotFound add bun, deno, elixir and split the matching logic into different OS * Append erlang installation help for ubuntu/debian * Pass OS info from cli when shell program cannot be found * Add snapshot tests for shell command not found * changelog * Refactor OS and distro retrieval functions for better clarity and consistency * Refactor OS and distro handling to use enums for clarity * Update shell program not found test snapshots * Rewrite get_os_distro(), get_os() and OS enum struct * split get_linux_distro_str() to obtain the distro str only * add tests for extract_distro_id() * Update ShellProgramNotFound error diagnostics format and snapshots * Correct capitalization in installation documentation for Bun and Rebar3 * Update age dep * Update .gitignore files to exclude build artifacts and remove existing build folders in repo * Implement code action to generate dynamic decoder * Import decode module when running generate decoder action * Add support for generating decoders for types with parameters * Add support for generic types when generating decoders * Add tests * Changelog * Add support for decoding tuples * Add tests for tuple decoding * Add support for recursive decoders * Clippy * Remove empty line * set REBAR_SKIP_PROJECT_PLUGINS when running rebar3 This env var was added for tools like `gleam` to tell rebar3 they are using it just to build a dep and want to skip any project_plugins that might be in the configuration. Those were added specifically to not be pulled in when building a project as a dep. * Changes! * Fix CI * Remove incorrect argument * Update default Elixir version in test.yml The prior Elixir version was not compatible with the default Erlang OTP version * Update changelog * v1.7.0-rc1 * Fix trailing :bytes pattern on JS giving incorrect result * v1.7.0-rc2 * Correct changelog * Changes! * fix capture formatting * add test directly from the issue * CHANGELOG! * missing test * fix missing test * clippy I missed you * Fix private type bug * Fix bug with "convert from use" code action and labelled arguments (#4131) * 1.7.0-rc3 * Changes! * format record updates like call arguments * CHANGELOG * Clippy * CHANGELOG * Correct changelog * v1.7.0 * v1.7.0 * rename and fix tests * glistix/nix: implement 'let assert ... as' * glistix/nix: test 'let assert .. as' * glistix: bump gleam version in version.rs * glistix: update flake hash * Fix clippy warnings * glistix: add nix in subdir test to subdir_ffi * glistix: add tests for nix files in subfolders * glistix/nix: fix nix syntax in a comment * glistix: forgot to add external_nix fix to parse * glistix: add parser test for @external(nix) on variant --------- Co-authored-by: Louis Pilfold <[email protected]> Co-authored-by: Giacomo Cavalieri <[email protected]> Co-authored-by: Joshi Reusch <[email protected]> Co-authored-by: Gears <[email protected]> Co-authored-by: yoshi~ <[email protected]> Co-authored-by: GearsDatapacks <[email protected]> Co-authored-by: Sakari Bergen <[email protected]> Co-authored-by: Wilbert-mad <[email protected]> Co-authored-by: keiidev <[email protected]> Co-authored-by: Ross Byrne <[email protected]> Co-authored-by: Richard Viney <[email protected]> Co-authored-by: Kieran O'Reilly <[email protected]> Co-authored-by: Aleksei Gurianov <[email protected]> Co-authored-by: Frank Wang <[email protected]> Co-authored-by: jknight-developer <[email protected]> Co-authored-by: Roberto Trevisan <[email protected]> Co-authored-by: rockerBOO <[email protected]> Co-authored-by: Diemo Gebhardt <[email protected]> Co-authored-by: Ankit Goel <[email protected]> Co-authored-by: wheatfox <[email protected]> Co-authored-by: Tristan Sloughter <[email protected]> Co-authored-by: John Strunk <[email protected]>
- Loading branch information