diff --git a/README.md b/README.md index f74fd48..b235cf9 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv [ ] Infer whether to declare variable (`var` / `:=`) or reuse (`=`) - [ ] Track current visibility scope [ ] Comprehensive coverage of all AST node types + - [X] Create full-coverage interface to implement - [ ] Node - [ ] Stmt - [ ] Expr @@ -85,9 +86,11 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv [ ] Hoisting pass for rvalue expressions - [ ] Behaviour of function calls in rvalue cases where err cannot be checked - [ ] Assignment expressions + - [ ] Alternately - we can support the form `if foo := bar(); foo {` + - [ ] Ternarys [ ] Simple standard library transformations - - [ ] string/array functions - - [ ] uasort -> sort.Slice + - [X] common string/array functions + - [ ] More string/array functions [ ] Elide error return for functions that cannot throw - ?? Could be a standalone Go refactoring tool @@ -98,6 +101,8 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv - [X] Track golang package imports - [ ] Handle conflicts between golang stdlib packages / local variable names - [ ] uasort -> sort.Slice + - [ ] preg -> regexp + - [ ] json -> encoding/json - [ ] Output buffering (`ob_start` / `ob_get_clean`) - Can push/pop os.Stdout onto a private stack, then we can keep using `fmt.Print` - [ ] PHP Superglobal transformations @@ -111,6 +116,7 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv [ ] Preserve rough line spacing [ ] Somehow detect whether map use should be order-preserving [ ] Support scoped namespace (`namespace { ... }`) and multiple namespaces in file +[ ] Validation on imported comment formats [ ] Convert wordpress / mediawiki / symfony - [ ] Option to convert with preset=cli, preset=web, webroot path - [ ] Option to generate built-in web server