5 ms·
Zig author here. Welcome to the club. How do you solve the IDE features ("fast and trustworthy refactorability (ie: renaming symbols)") in the presence of cond
by AndyKelley 7y ago
Zig author here. Welcome to the club.
How do you solve the IDE features ("fast and trustworthy refactorability (ie: renaming symbols)") in the presence of conditional compilation?
btw your name is an anagram of "beefitrian"
- beefdev 7y agoHi Andrew- of course I've been following Zig. Thanks for your trailblazing efforts in the "C replacement" space. It's true that symbols in 'false' preprocessor blocks will not be caught. Maybe it's best said "if the compiler will find the symbol when you compile, then the symbol renamer will find it when you rename". Which is definitely not true for most symbol renames I dare to attempt in C++ IDEs.
- AndyKelley 7y agoDamn, sorry, wasn't trying to call you out; rather hoping that you had thought of something I didn't that I could steal from you. I think starting with an IDE from the very beginning was a smart move. For what it's worth, here is my current vaporware plan to solve this problem: https://github.com/ziglang/zig/issues/3028 https://github.com/ziglang/zig/issues/3028 I would be curious to see your thoughts on this, especially if you end up trying to tackle this problem in Beef.
- beefdev 7y agoAh- for BeefLang that's less of a problem since even unreachable code is typechecked (without code generation). But yeah your problem sounds very hard. I guess I don't fully understand why you would only want reachable functions to be listed in documentation...
- rishav_sharan 7y agoAndrew, while you are here- can you please make smaller monthly zig releases instead of very large releases. 0.6 has been in the oven for a while now.
- networkimprov 7y agoThey do ~two annual releases. Composing a release is a major time-sink for a small project. They probably want newcomers to try a release, and if intrigued, clone the repo and stay current.
- rishav_sharan 7y agoI dont think a smaller release cycle should be a larger time sink, specially if the release process uses CI/CD which Zig does. A shorter release cycle wil mean that folks will get new stuff/bugfixes faster and that Zig will get more mindshare in return.
- cies 7y agoI mostly wish that those refactor->rename features in my IDE also renamed code that is commented out.