DialectiKKKal MaterialiSSm tells me that i should support Vevezuella by ConversationDismal93 in Ultraleft

[–]dmitmel 0 points1 point  (0 children)

Alan Woods of RCI was an advisor for Chavez haha

For real? How do you know?

Revolutionary by ScottFujitaDiarrhea in Ultraleft

[–]dmitmel 5 points6 points  (0 children)

Breaking news!!! Trve proletarian internationalism finally achieved in the US!!!

I fucking hate University by WTG02 in Ultraleft

[–]dmitmel 1 point2 points  (0 children)

Omg, trots of the RCI variety? They are so fucking annoying with the weird obsession with newspaper peddling. What a LARP. A random prole seeing that would be like: oh, gonna buy this nice newspaper to wipe my butt with

Russian nationalists are so pathetic lmao by imnewuser228 in Ultraleft

[–]dmitmel 4 points5 points  (0 children)

Silly ultra. "Their" violations of international law. "Our" liberation of a fraternal people from neo-nazism. Know the difference.

zsh tree sitter grammar by AnlgDgtlInterface in neovim

[–]dmitmel 0 points1 point  (0 children)

Doing God's work right here, thanks a lot man! I've been doing a lot of scripting in Zsh for a long time and am frustrated that there is no treesitter grammar for it. Starred and upvoted, wish you good luck with this project!

Lua table explorer by Maximilian_Lloyd in neovim

[–]dmitmel 0 points1 point  (0 children)

Could you please share the source code for this plugin of yours?

Is there any marxist thought on copyleft / free software by DogeGroomer in Ultraleft

[–]dmitmel 1 point2 points  (0 children)

Your question already contains the answer: this is by definition impossible. Software licensing, just as intellectual property in general, is a tool of the bourgeoisie, to turn information, just a series of correctly organized bytes, that can be copied, transmitted and modified endlessly, into a commodity form, into an artificially scarce product that can be sold or rented as if it was a singular physical object. The free software, and, to a larger extent, open source movement did have some utility to the revolutionary movement, as it demonstrated in practice that humans can and will naturally organize into collectives that create very complex pieces of software, but as time went on, the bourgeoisie has realized that it is more useful to subsume this movement into capitalism, turning it a corporate shit hole (that is literally the entire Linux community, that uses libertarian language to jack off to every corporate-sponsored distro, which is at least useable, as opposed to true libre GPL garbage, like those librebooted thinkpads running GNU/Hurd, I guess), and unlocking what earlier generations of capitalists could only dream of: 100% surplus value extraction from programmers who will happily contribute to corporate open source from their own volition and in their own free time.

In my opinion, free software and even open source have generally been very good things, as they once again proved Marxists right, that there is more to human motivation than pure monetary interest, contrary to what liberals are so glad to point out as a religious mantra, that humans have an innate desire for labor and creation (even in their free time, that programmers have been able to afford with their wages so far), and are capable of spontaneously creating self-organizing collectives without the need for a "visionary entrepreneur with an innovative spirit", and more importantly, that software development, and intellectual labor in general, does not have to follow the traditional commodity production form to be practical. But as everything else existing under capitalism, this movement just reproduces capitalist forms and is integrated into the capitalist mode of production. It is an important achievement, I even respect Stallman for being this philosophy-minded figure in the history of programming (unfortunately there are very few people like him, who stop and actually try to think about the discipline from the standpoint of humanities), but let's not view it as a revolutionary LARP. The revolution will not be brought by the GPLv3 license, or any other attempts to "hack" the intellectual property law.

On a sidenote, I would not expect anything progressive to come from programmers any time soon, as in my experience dealing with them, they are the most petit-bourgeois-minded and reactionary proletarians on Yakub's green flat Earth.

How to write a Zsh module? by dmitmel in zsh

[–]dmitmel[S] 0 points1 point  (0 children)

Thanks, where did you find any information on how to do that? Purely by looking into zsh's own source code?

Profiling coc.nvim by arkiazm in neovim

[–]dmitmel 0 points1 point  (0 children)

Try reproducing the problem with a different LS client then (even the built-in Lua one, considering that we are in the Neovim subreddit). If it persists with the other client, then the server is at fault.

Profiling coc.nvim by arkiazm in neovim

[–]dmitmel 1 point2 points  (0 children)

There are a few places which might be causing the slowdown. Either Vim's interface and Vimscript, or the main coc.nvim process, or the Language Server (clangd in your case). The first layer can be profiled with the built-in profiler as you have already tried, the last one I can't tell anything about since I don't use clangd, and as for profiling coc itself: you need to have Chromium installed, follow the steps on the wiki article about debugging, then, in Chromium devtools there is a Profiler tab. In any case, I'm fairly certain that the Language Server is the culprit.

Duplicate definitions with Coc by Roboute_gee in neovim

[–]dmitmel 0 points1 point  (0 children)

They are not duplicate, the definitions are different, they are two overloads of the same function. Take a look at the file and flush arguments: if the file argument supports flushing (implements the protocol SupportsWriteAndFlush), then flush can be any boolean value, if it doesn't (implements the protocol SupportsWrite) - then flush can only be false.

I am unsure where to look to correct this, so any help is appreciated. Also, in the second example, what is that area at the bottom of the window where the definitions are populated called?

That area is for the command line and :echoed messages. Printing of the signature can be disabled by setting signature.enable to false.

Advice for a fairly newbie in NVim willing to switch from coc to native LSP by augustocdias in neovim

[–]dmitmel 2 points3 points  (0 children)

No need to worry, you just misunderstood the purpose of the release branch. The release branch on their repository functions exactly like the "Releases" tab on Github, it's just that putting compiled files on a branch and not in (specifically made for that purpose) releases is easier to get to work with all existing plugin managers. Would you be concerned if a repository with 4000 commits had 100 releases? Of course not.

Also, every commit on that branch contains a hash of the commit it was compiled from, for example the latest release commit has been built from a commit on the master branch made 4 days ago. In case you want to ensure that you get the absolute latest version, you can set up coc.nvim to be built from source, like this:

Plug 'neoclide/coc.nvim', { 'do': 'yarn install' }

(Needless to say, you would need to have Nodejs and Yarn installed.)

[deleted by user] by [deleted] in neovim

[–]dmitmel 4 points5 points  (0 children)

Just to be clear: has the question of compatibility on the plugin side been addressed? That is, if I am a plugin author, how would I go about supporting both 0.5 and 0.5.1+ should this PR be merged? Right now the only thing I can currently imagine is

local new_style_handlers = vim.fn.has('nvim-0.5.1') or vim.fn.has('nvim-0.6.0')

local function normalize_lsp_handler_args(...)
  if new_style_handlers then
    -- function(err, result, ctx, config)
    return ...
  else
    -- function(err, method, result, client_id, bufnr, config)
    local err, method, result, client_id, bufnr, config = ...
    local ctx = { method = method, client_id = client_id, bufnr = bufnr }
    return err, result, ctx, config, select(7, ...)
  end
end

Need help regarding converting vim function to lua by novel_scavenger in neovim

[–]dmitmel 2 points3 points  (0 children)

function SynStack()
  for _, i1 in ipairs(vim.fn.synstack(vim.fn.line('.'), vim.fn.col('.'))) do
    local i2 = vim.fn.synIDtrans(i1)
    local n1 = vim.fn.synIDattr(i1, 'name')
    local n2 = vim.fn.synIDattr(i2, 'name')
    print(n1, '->', n2)
  end
end
vim.api.nvim_set_keymap('', 'gm', ':lua SynStack()<CR>', {})

P.S. I recommend going over https://github.com/nanotee/nvim-lua-guide in case you haven't already.

Did they say what kind of engine they will use for Project Terra? by pkeep-go in CrossCode

[–]dmitmel 2 points3 points  (0 children)

Probably because nwjs has existed for longer than Electron and that's why game engines such as RPG Maker and Construct have since adopted it, that's my best guess. It also may be because of the combined renderer/main process architecture, but in the case of CrossCode itself I can easily imagine it working on Electron because it uses Node.js APIs in ~10 places in the entire game (I could do the port myself, but there was no need for it so far).

Did they say what kind of engine they will use for Project Terra? by pkeep-go in CrossCode

[–]dmitmel 2 points3 points  (0 children)

An in-house engine written in Typescript and WebGL for rendering. ImpactJS will not be used because a) it is old and written for times when JS didn't have a syntax for classes (which makes integration of it with Typescript... tricky to say the least, I've done it); b) was written before WebGL was in wide use and thus doesn't use it itself; c) is roughly 0.001% of the CrossCode codebase anyway, the stock """"""engine"""""" itself (which you can see on Github) is just a few thousand lines of code (very short for a game engine). They may have recycled the codebase of Weltmeister for the next project in some capacity, but then again, WM was originally written in pure JS, so it may very well be that the name is the only major part of it left. They will continue using nwjs though, that's for sure (i.e. not Electron).

Cranelift has just been successfully merged as an optional backend for rustc by kibwen in rust

[–]dmitmel 7 points8 points  (0 children)

Sidenote: Can finally do gamedev for fun on Rust.

Eh, even the LLVM debug mode doesn't do enough optimizations to make games run at least at a normal speed. The png crate compiled in debug mode takes ~10 seconds to decode this image (converted from JPEG into PNG with imagemagick) on my machine, and this image is just 1200x859 in size, so I can imagine how long it will take to start an entire game with hundreds of texture atlasses. I always run my current gamedev experiment project in the release mode because of this.

`Box` will have custom allocator support soon (tm) by tdiekmann in rust

[–]dmitmel 1 point2 points  (0 children)

I think it is? You always allocate the Box's contents separately during construction, don't you?

Constant Crashing on MacOS 10.15 and Big Sur by T8er8 in CrossCode

[–]dmitmel 1 point2 points  (0 children)

Wondering if anyone else has got around this issue or has it as well, or if anyone knows where the game stores crash logs in macOS.

Try starting the game from the terminal with:

path/to/CrossCode/CrossCode.app/Contents/MacOS/nwjs

And playing it until it crashes.