joshuaskelly / vscode-quakec Goto Github PK
View Code? Open in Web Editor NEWQuakeC Intellisense, diagnostics, and code browsing.
QuakeC Intellisense, diagnostics, and code browsing.
Opening crmod-plus causes the parser to get stuck in an infinite loop. Is there any way to enable debug logs or something?
Tried starting the server in debug and paused execution. It doesn't progress past parsing the following file, but I'm not familiar with js, nor quakec, so bit of a hurdle to produce a proper bug report without help,
https://github.com/quakeone/crmod-plus/blob/main/src/items.qc
I am a bit new to extension in visual studio.
Running vsce package
generate the following warning:
This extension consists of 5074 files, out of which 2836 are JavaScript files. For performance reasons, you should bundle your extension: https://aka.ms/vscode-bundle-extension . You should also exclude unnecessary files by adding them to your .vscodeignore: https://aka.ms/vscode-vscodeignore
We probably should bundle the files as suggested.
void() test =
{
float x;
};
this is invalid in QC, but is currently parsed as being valid
A fully resolved piece of grammar should, somehow, have a neatly defined beginning and end. For instance, given this code:
local float x = 5.0;
or:
void() x = { return true; }
there needs to be a way to get the full "start" and "end" ranges of these. Each of the symbols have their own range, but there's no quick way (without stepping backwards/forwards through the syntax tree) to find what belongs to x
as a full symbol.
Opening the folder Development/quake/ArcaneDimensions
parses the code and finishes, populating a list of problems. When clicking any of the warnings it tries to open a file that doesn't exist. If I chose to create this file it will be created at development/quake/arcanedimensions
all lower case. If I move the source directory to a path that is lower case all the way, jumping to problems works as expected.
I have a space in a directory name, so I get:
Request initialize failed with message: ENOENT: no such file or directory, scandir '/home/lordy/Code/Quake%20Repos/tf-qwprogs-rewrite'
Provide robust support for MODELGEN commands (called commands in this document for brevity). Specifically the $frame
command, which defines names in the scope.
A command is:
$
$frame
Commandfloat
type.TODO: Complete proposal
$frame macro1 macro2
Defines two constants $macro1
and $macro2
$frame macro1 macro2
void() f = {
local float x = $macro1;
local float y = $macro1 + 1;
};
Valid usages as an rvalue.
$frame macro1 macro2 macro2
Should warn about duplicate name $macro2
.
$frame macro1 macro2
$macro1 = 2
Should treat $macro1
as an unknown modelgen command and discard it.
$frame macro1 macro2
void() f = {
$macro1 = 2;
}
Should give an error, complaining that $macro1
is a const value and cannot be assigned.
The extension does not work when packaged. @Paril has a hunch it has to do with how the parser module is included in the project.
We inherited quakec.maxNumberOfProblems
from the LSP sample project. We should either use it, or remove it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.