202 karma · joined August 19, 2019
If all music were wiped off of YouTube, you can bet it would become convenient. I believe there's already an app somewhere that lets you stream music using BitTorrent, throw in some onion networking for privacy, a better means of content discovery, and get more people uploading music, and you'll be off to the races.
(At least, this was how it was pre-Microsoft. I haven't followed it since then.)
I use CoC.nvim using the coc-tsserver plugin to get Typescript completion/jump to definition etc, ALE to get ESLint warnings, HerringtonDarkholme/yats.vim (A Typescript syntax, Neovim comes bundled with this, but the bundled version might be out of date), and maxmellon/vim-jsx-pretty for JSX syntax highlighting and indentation (vim-jsx-pretty's auto indentation is not 100%, but it works well enough).
My colorscheme is tomasiser/vim-code-dark, in case that matters. Example screenshot: https://i.imgur.com/6UzKtU2.png
I personally think it looks awful.
What I would do is purge null-terminated strings from the standard library and use exclusively pointer-and-length strings. (const char * str, size_t str_len). That would be a massive improvement, especially to the IO library, which currently has to support both null-terminated strings and pointer-length strings (since only the latter allows binary IO).
The C locale library is really awful. printf() needs to have a way to choose between locale-dependent and locale-independent formats, and the latter should be the default.
strcmp(), strcpy(), and strcat() would all be gone because without null-terminated strings these can be replaced by memcmp() and memcpy().
It would also be nice if the IO library allowed creating memory-backed files, since this is a very common extension and would make FILE * more useful for defining APIs that take or output to streams.
Would add a standard interface for getting a directory listing.
Make char unsigned by default. (Currently it's implementation dependent, and usually signed, which is almost always incorrect).
And I would get rid of isupper() and other functions that can't handle multibyte characters.
0^0 = 0
1^0 = 1
0^1 = 1
1^1 = 0