Coq now uses .mlg rather than .ml4 (since https://github.com/coq/coq/pull/8763), so we have to ignore its generated dependency files. The `native_compute_profile_*.data` files are generated by `Set NativeCompute Profiling` (see https://github.com/coq/coq/pull/950). Finally `.coq-native` is a directory that may be generated in any subdirectory, not only at top level, so we should not use absolute paths for it.
The direnv project (https://direnv.net/ ) uses .envrc files for dynamically loading environment variables (or other settings) per directory using the user's shell.. As it can contain sensitive information, and is similar in goal as to .env etc, I think it is a good idea to exclude this by default as well.
CMake 3.19 added CMakePresets.json, which is intended to be
version-controlled, and CMakeUserPresets.json, which should NOT
be version-controlled. Add CMakeUserPresets.json to the gitignore.
https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html
[Accio](https://github.com/JamitLabs/Accio) was oficially deprecated in favor of SwiftPM integration within Xcode. I don't think any new project will be opting for it, so it might also be a good idea to clean this up and remove the Accio related entries from the `.gitignore`.
The svg package creates two temporary files for each .svg file that is
included in the document (one .pdf file and one .pdf_tex file). These
are placed into a subfolder called svg-inkscape/ by default.
I added this .gitignore to a project that included a file named CoverageSearchModel.cs, and the file was wrongly ignored. This change fixes the incorrect use of the range operator on the Coverlet rules.
The problem here was two fold:
1. the folder "/target/" would be top-level of the repo only, it should be "target/" to properly exclude target folders anywhere in the repo
2. the default Rust/Cargo folder when compiling code is "debug/", which gets used perhaps more often that "target/", added that