Skip to content

elves/upgrade-scripts-for-0.11

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Upgrade Scripts for 0.11

Scope

This tool accodomates one change introduced in the 0.11 release: variable name for functions used to be prefixed with &, but are now suffixed with ~:

  • Variable references are changed: $a:&x$a:x~;

  • Assignments are changed: '&x' = { }x~ = { } (quoting is no longer required, since ~ is a valid bareword if it does not appear at the beginning of a word;

  • Use of ~ in compound nodes get a preceding '' so that it will not be parsed as part of a previous variable: $x~foo$x''~foo.

See before.elv and after.elv for an example.

The rune & is now forbidden in variable names. If a variable contains & after rewriting, a warning is printed.

This tool does not address other compatibility breaks.

Invocation

This tool can be invoked in one of two ways:

  • Without arguments, it reads stdin and writes stdout.

  • With filename arguments, it rewrites each given file. For instance, to upgrade all scripts in ~/.elvish:

    upgrade-scripts-for-0.11 ~/.elvish/**.elv

    Ignore warnings about skipping directories if you happen to have directories whose names end in .elv.

It does not accept any flags.

Note that this tool is not idempotent. For instance, upgrading the already upgraded $x~ syntax will make it $x''~.

About

Upgrade scripts for 0.11

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published