Comments (7)
Okay, hopefully someone can anwser it. 😄
from cmake-tools.nvim.
Note to people using cmake_always_use_terminal=true
If you do not chaining of commands and vim.wait() to block your neovim instance, you can hit the CTRL C
once or twice after launching the terminals.
This will lose the chained commands, but you can access neovim while the CMakeTask is running.
The reason we added this option is because:
- We want to keep the build output from all the commands, along with the commands persistent.
- And to view the exact commands that are being sent to the terminal on each run.
- We want to give full access to the user (users who donot use CMake Presets) to set/modify specific cmake flags to the terminal directly in the command line for quick experimentation.
Kindly provide feedback on this feature... 👋
from cmake-tools.nvim.
Currently, I use these codes to check if there is a process is finished, which is need to chain callback.
But this will block neovim instance, we should find a non-blocking or async way to check this.
(Posible solution?)...
If we do a background non-blocking vim.wait()
that looks inside the build directory every n milliseconds until the currently running cmake produces the CMakeCache.txt
or something like that which tells the status of the cmake process is completed, once it finds this (effectively a more verbose on_success() condition), maybe even the timestamp of the file... We can then chain the next command with a small delay.
We will need to create new functions for checking status of files like how the codemodel targets are obatined...
Since the solution is cmake specific solution, I think this will be a decent solution without the explicit on_success()
callback.
from cmake-tools.nvim.
I've opened a question here: https://discourse.cmake.org/t/is-there-a-way-to-check-when-any-cmake-task-has-finished-purely-from-the-filesystem-build-directory/8271
from cmake-tools.nvim.
Seems like this can be accomplished by writing a dummy query into a file.
@Civitasv, do you have any idea how we may do this?
from cmake-tools.nvim.
I've researched some plugins about terminal, cannot find a suitable solution to get notified when terminal executes commands successfully. But I find another way, See it at #63.
from cmake-tools.nvim.
Nice! That is a simple and effective solution :D
from cmake-tools.nvim.
Related Issues (20)
- If CMakeSelectCwd is executed to select another dirctory, the session is not saved HOT 5
- Is it possible to add encoding conversion options to the output of QuickFix? HOT 2
- :CMakeRun fails when scratch buffer is open HOT 3
- Option to have :CMakeRun not change the current build target? HOT 7
- Broken `${variant.buildType}` resolution HOT 2
- Changed behaviour: change of cmake kit doesn't change build folder name. ( doesn't copy patterns from global config ). HOT 5
- 'bottom' is not a valid option for the quickfix position HOT 3
- Auto select target HOT 8
- Automaticly updating the clangd LSP is not working HOT 5
- Option to modify :CMakeRun behavior to send the full command but not the newline HOT 5
- 无法在cmake-tools插件的lua配置文件中设置默认CMAKE_BUILD_TYPE HOT 3
- Option to auto-close quickfix after a successful build HOT 5
- 建议改善README示例配置文件或增加Installation部分的Require说明 HOT 1
- Integrating CMake compilation errors with the Trouble plugin in NeoVim HOT 5
- :CMakeDebug builds, then quits with no obvious reason HOT 3
- Integrate Toggleterm as terminal and executor HOT 14
- Can support for floaterm? HOT 3
- Run all tests with ctest HOT 3
- CMakeRun in terminal CDs to _folder_ and then runs _folder_/_app_ HOT 2
- Expected Lua number in scratch.lua:16 HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmake-tools.nvim.