zadirion / unreal.nvim Goto Github PK
View Code? Open in Web Editor NEWUnreal Engine support for Neovim
License: MIT License
Unreal Engine support for Neovim
License: MIT License
Thanks for the plugin. I'm using it off and on for a the last little bit and it usually works great.
I've run into an issue where It looks like the TargetNames are not being used so I can't build.
I've got a project, let's call it's project file ProjectA.uproject and in it there are multiple modules, TargetA TargetAEditor TargetB...
When trying to run generate for TargetAEditor, it instead is attempting to use a target called ProjectAEditor. I've updated the UnrealNvim.json's TargetName to be TargetAEditor but that doesn't help.
Is there a step I'm missing that let's be use modules that don't use the project's filename?
Upon configuring the plugin and doing :UnrealGenWithEngine, I get Error in update:...te\pack\packer\start\Unreal.nvim/lua/unreal/commands.lua:887: ...te\pack\packer\start\Unreal.nvim/lua/unreal/commands.lua:326: bad argument #1 to 'lines' (: No such file or directory)
The engine path is properly set up and ended in UnrealNvim.json, and I'm using the command inside my source file (MyPawn). I properly installed it with packer, and there are no errors
"EngineDir": "D:\UE_5.3\"
compile commands.json generated:
[
{
"file": "C:\Users\kobas\Documents\Unreal Projects\MyProject2\Source\MyProject2\MyCharacter.cpp",
"command": ""C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64\cl.exe" @"C:\Users\kobas\Documents\Unreal Projects\MyProject2\Intermediate\Build\Win64\x64\UnrealEditor\Development\MyProject2\MyCharacter.cpp.obj.rsp.gcd"",
"directory": "D:\UE_5.3\Engine\Source"
},
{
"file": "C:\Users\kobas\Documents\Unreal Projects\MyProject2\Source\MyProject2\MyProject2.cpp",
"command": ""C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64\cl.exe" @"C:\Users\kobas\Documents\Unreal Projects\MyProject2\Intermediate\Build\Win64\x64\UnrealEditor\Development\MyProject2\MyProject2.cpp.obj.rsp.gcd"",
"directory": "D:\UE_5.3\Engine\Source"
}
]
https://github.com/zadirion/Unreal.nvim/blob/main/lua/unreal/init.lua is empty. Is this intended?
I'm receiving the error :
Error executing Lua callback: ...Local/nvim-data/lazy/Unreal.nvim/lua/unreal/commands.lua:180: attempt to call a nil value
stack traceback:
...Local/nvim-data/lazy/Unreal.nvim/lua/unreal/commands.lua:180: in main chunk
[C]: in function 'require'
...pData/Local/nvim-data/lazy/Unreal.nvim/plugin/unreal.lua:13: in function <...pData/Local/nvim-data/lazy/Unreal.nvim/plugin/unreal.lua:12>
My guess is that the empty init file caused this.
With UnrealEngine 5.3.2 release
(https://github.com/jgilardi/UnrealEngine/commit/072300df18a94f18077ca20a14224b5d99fee872) there are slight variations in the format of compile_commands.json
when using UnrealBuildTool.exe mode=GenerateClangDatabase
. This causes parsing issues with Unreal.nvim
generate commands.
The issues are minor. Mostly string find skipping over the command
args around here: https://github.com/zadirion/Unreal.nvim/blob/de4f81d4f0462796217db885d3ab2a11cc6e7542/lua/unreal/commands.lua#L485C19-L485C19
I've updated (hacked) the plugin to work with the latest compile_command.json
syntax, however, I may have a few issues.
Is it normal for the .rsp to be transformed like this and lose all the extra flags after the includes?
RSP_BEFORE
"D:/devservoir/UnrealEngine/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/AABB.cpp"
/FI"D:/devservoir/UnrealEngine/Engine/Intermediate/Build/Win64/x64/UnrealEditor/Development/Chaos/Definitions.h"
/Fo"D:/devservoir/UnrealEngine/Engine/Intermediate/Build/Win64/x64/UnrealEditor/Development/Chaos/AABB.cpp.obj"
/sourceDependencies "D:/devservoir/UnrealEngine/Engine/Intermediate/Build/Win64/x64/UnrealEditor/Development/Chaos/AABB.cpp.dep.json"
@"..\Intermediate\Build\Win64\x64\UnrealEditor\Development\Chaos\Chaos.Shared.rsp"
/Zc:inline
/nologo
/Oi
/FC
/c
/Gw
/Gy
/utf-8
/wd4819
/DSAL_NO_ATTRIBUTE_DECLARATIONS=1
/permissive-
/Zc:strictStrings-
/Zc:__cplusplus
/D_CRT_STDIO_LEGACY_WIDE_SPECIFIERS=1
/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1
/D_WINDLL
/D_DISABLE_EXTENDED_ALIGNED_STORAGE
/Ob2
/Ox
/Ot
/GF
/errorReport:prompt
/EHsc
/DPLATFORM_EXCEPTIONS_DISABLED=0
/Z7
/MD
/bigobj
/fp:fast
/Zo
/Zp8
/we4456
/we4458
/we4459
/we4668
/we4244
/we4838
/TP
/GR-
/W4
/std:c++20
/Zc:preprocessor
/wd5054
RSP_AFTER
-include "D:/devservoir/UnrealEngine/Engine/Intermediate/Build/Win64/x64/UnrealEditor/Development/Chaos/Definitions.h"
-include "D:/devservoir/UnrealEngine/Engine//Engine/Source/Runtime/CoreUObject/Public/UObject/ObjectMacros.h"
-include "D:/devservoir/UnrealEngine/Engine//Engine/Source/Runtime/Core/Public/Misc/EnumRange.h"
-std=c++20 -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -ferror-limit=1 -Wno-inconsistent-missing-override
I was wondering if you could post an example compile_commands.json
: both the initial .json and the modified one?
As well as some before/after of the .rsp files?
Thanks!
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.