Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Modded GNU Nano using ycmd code completion and IntelliSense. The ycmd code completion support for nano is found in the ymcd-code-completion branch.

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
COPYING
Unknown
COPYING.DOC
NotificationsYou must be signed in to change notification settings

orsonteodoro/nano-ycmd

Repository files navigation

The ycmd code completion support for nano is found in the ymcd-code-completionbranch.

Alt text

Branches

  • The master branch contains upstreams gnu nano source code untouched.
  • The ymcd-code-completion contains a modification to gnu nano that has ycmdsupport.

Which commits are working? Which one should I clone?

You can use the following which have been tested:

Commit / Tree snapshotSource code downloadNotes
79b3b7d[zip][tar.gz](RECOMMENDED) Tested working for ycmd CORE_VERSION 48 on Jun 28, 2025. Hardened version. Support for hardened_malloc, mimalloc-secure, safeclib. Faster startup with ChaCha20. Skips security prompt if .ycm_extra_conf.py is missing. Removed performance-critical for security-critical since nano is used for website passwords and sensitive data. Drops SIMD, OpenMP, jq requirements. Removed unnecessary heap allocations to reduce chance of Denial of Service (DoS). More sanitization to mitigate Information Disclosure (ID). Mitigate obfuscated Arbitrary Code Execution (ACE) and fix ignore for .ycm_extra_conf.py. Path traversal mitigation. Add popup suggestion support. Re-allow and hardened YCM generator header fix. Removes system() calls to prevent command injection.
dab16f0[zip][tar.gz]Tested working for ycmd CORE_VERSION 48 on Jun 8, 2025. Adds core version 48 support. Updates to latest upstream HEAD (version 8.4). Fixes possible privilege escalationCVE-2024-5742.
7efd128[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 47 commit on Jul 7, 2023. Security and completer suggestion improvements.
7b52887[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 47 commit on Jul 2, 2023 with upstream commits to 7f4c2c6.
8b35ad5[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 45, 46, 47 commits on Jun 30, 2023.
60b3cbb[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 43 and 44 commits on Apr 19, 2021.
d69e837[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 43 commit on May 24, 2020
14e4255[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 39 commit on Feb 11, 2018
1f1a506[zip][tar.gz]Tested working for latest ycmd CORE_VERSION 39 on Feb 11, 2017, a non-simd non-multicore build.

Compatible ycmd core versions:

CommitCore versionClang/LLVMPythonRustMono / .NET CoreJavaNode / TSEnd of Life (EOL) status
a5132948 (Live snapshot)19.1.03.6 - 3.131.83.0 (nightly)6.6.0 / 2.1, 3.1, 5.0, 6.01722 / 5.7.2Fully supported
99c0684817.0.13.6 - 3.121.71.0 (nightly)6.6.0 / 2.1, 3.1, 5.0, 6.01720 / 5.1.6Available
671fee4715.0.13.6 - 3.101.63 (nightly)6.6.0 / 2.1, 3.1, 5.0, 6.01717 / 4.7.4EOL
18808e4614.0.03.6 - 3.91.63 (nightly)6.6.0 / 2.1, 3.1, 5.0, 6.01717 / 4.7.4EOL
a9f6164511.0.03.6 - 3.91.50.0 (nightly)6.6.0 / 3.1, 5.01114 / 4.1.5EOL
ff428c4410.0.02.7, 3.5 - 3.81.42.0 (nightly)6.6.0 / 3.1, 5.0813 / 3.8.3EOL
228adf4310.0.02.7, 3.5 - 3.81.42.0 (nightly)5.18 / 2.180.10, 6, 7 / NAEOL
683cb5396.0.02.7, 3.3 - 3.6NA3.0 / NA80.10, 6, 7 / NAEOL
  • NA = Not Available
  • Support for a particular ycmd core version is based on version availability ofPython on the developer(s)' distro.
  • The End of Life (EOL) column is interpreted from the last tested commitsnapshot of nano-ycmd.
  • For 2025, the commits supported for compatible ycmd core version has changedand is based on the version bump of CORE_VERSION. The version bump is assumedto be the final version and is based on other Python projects that bump theversion variable insetup.py or__init__.py while simultaneously tagging therelease on the repo. For ycmd, it is unclear and ambiguous which version isthe official final release because there are no repo tags. The core versionbump can be interpreted as either the final version or the beginning ofthe new development cycle.

Docker

You can use nano-ycmd fairly quickly with Docker. More information can be foundathttps://github.com/orsonteodoro/docker-gentoo-nano-ycmd

Dependencies

PackageVersionRequired or optionalBuild-time or run-timeDescription
autoconfRequiredBuild-timeFor build system tools to build the project
automakeRequiredBuild-timeFor build system tools to build the project
BearOptionalRun-timeFor C, C++, Objective-C, or Objective-C++ support to generate a compile_commands.json.
BFD [5]RequiredBuild-timeFor linking the program
Clang[3]OptionalBothFor C, C++, Objective-C, or Objective-C++ code completion support either bundled with ycmd or the system package
compdbOptionalRun-timeFor Ninja build system support
cURLRequiredRun-timeFor security-critical communication with ycmd
GCC [6]RequiredBuild-timeFor building the project
GLibRequiredRun-timeFor base64 encoding of libgcrypt HMACs
GNU MakeRequiredBothFor building the project and cleaning project files post install
hardened_mallocOptionalRun-timeFor security-critical memory allocation
JanssonRequiredRun-timeFor security-critical parsing of ycmd messages
libgcrypt [1]RequiredRun-timeFor message authentication from/to ycmd
mimalloc-secureOptionalRun-timeFor security-critical memory allocation
NcursesRequiredRun-timeFor nano's UI toolkit
Nettle [1]RequiredRun-timeFor message authentication from/to ycmd
OpenSSL [1]>= 3RequiredRun-timeFor message authentication from/to ycmd
Scudo [4][7]OptionalRun-timeFor security-critical memory allocation
Python3.6.x - 3.13.xRequiredRun-timeFor Python support and running ycmd
Safe C Library [2]OptionalRun-timeFor security-critical string/memory operations
YCM-GeneratorOptionalRun-timeFor C, C++, Objective-C, or Objective-C++ support to generate a .ycm_extra_conf.py. It requires YCM-Generator patched for Python 3.
  • [1] You must choose at least one cryptographic library.
  • [2] The package must be built with --enable-strmax=131072 (128 KiB) or higher.
  • [3] See the ycmd core versions table
  • [4] It requires theLD_PRELOAD=$(clang --print-file-name=libclang_rt.scudo_standalone-<arch>.so) environment variable to use the standalone hardened allocator. arch is eitheri386,x86_64,arm,armhf,aarch64,mips,mipsel,mips64,mips64el,powerpc64,powerpc64le,hexagon,loongarch64,riscv64. It requires the kernel built with ASLR. Only use 64-bit arches for security-critical to decrease chances of ASLR bypass.
  • [5] Any compatible linker
  • [6] Any compatible compiler
  • [7] Must add--with-scudo-lib=<PATH> and--with-lib-safe-paths=<PATH(S)> to configure. If Scudo is updated or recompiled, nano-ycmd must be rebuilt.

If you are using nano-ycmd for passwords or untrusted data (e.g. opening filesfrom the web or without file extension), it is recommended to install hardenedlibraries.

Older builds/commits (Pre June 27, 2025)
DependencyVersionRequired or optionalBuild-time or run-timeDescription
AVX512, AVX2, SSE2, MMXOptionalRun-timeFor performance-critical SIMD string_replace, escape_json. AVX2/AVX512 untested.
Bash>= 4RequiredBothFor Bear, Ninja, YCM-generator support
GNU coreutilsOptionalBothFor tac to reverse the clang system includes order for SIMD headers
GNU findutilsRequiredBothFor finding build files (Makefile, configure, *.ninja, *.pro)
jqOptionalRun-timeFor source code diagnostic selection support for jumping to the location of reported warnings, fatal errors, or FixIts availabile
NeonRequiredRun-timeFor HTTP communicaton between nano and ycmd programs
NXJSON [1]RequiredRun-timeFor parsing ycmd responses
OpenMPOptionalRun-timeFor performance-critical Multicore string_replace, escape_json
SedRequiredBothFor patching .ycm_extra_conf.py
  • [1] A shared library Makefilepatch is required for NXJSON.

My distribution doesn't have the required dependencies

You can look at my gentoo package overlayhttps://github.com/orsonteodoro/oiledmachine-overlay to see how to properlycompile them or you can research them to build packages for your distribution.

What are the new hotkeys to use this functionality?

The hotkeys Ctrl-` brings up the completer commands menu. The table below inthe which completer commands work section lists additional hotkeys that follow.

Seehttps://github.com/orsonteodoro/nano-ycmd/blob/ymcd-code-completion/src/global.c#L1389 .

Some of these features require the user to begin to type their code before thecompletere commands menu shows.

Why does the completer command "Get Documentation" not work for c-sharp?

Your distribution has not packaged the xml files properly. Compile nano-ycmd indebug mode and inspect the logs (ynano.txt, jedihttp_.log, omnisharp_.log) inthe /tmp folder to see which xml documentation files are required.

How do I use this code completion feature?

Just type and press Ctrl-letter when suggestions show.

Do Ctrl-X to exit the code completion suggestions list.

Which completer commands work and how do I access them and what is the expected behavior?

Completer commands add beyond code completion. It is optional but powerfulfeatures for the developer.

The features below are still in development. Some may be feature complete.

Do Alt-` to bring up the completer commands menu.

Do Ctrl-letter to execute a completer command.

Do Ctrl-space to exit the completer commands.

Some completer commands may not work or not made available for the particularlanguage that you working with.

Hotkey after Ctrl-`Tested and passed (4)Feature Complete?Working? (5)FeatureDescription
Ctrl-iYesYesYesGoToIncludeLoads the include file in buffer
Ctrl-cYesYesYesGoToDeclarationPuts the cursor at the variable declaration
Ctrl-dYesYesYesGoToDefinitionPuts the cursor at the function definition
Alt-dNoNoNoGoToDefinitionElseDeclarationPuts the cursor at the definition first, or it puts it on the declaration if it can't find the definition.
Ctrl-gNoNoYesGoToShould display description in the status bar. Goes definition or declaration whatever makes sense.
Alt-gYesMaybeYesGoToImpreciseFaster but less accurate version of GoTo but should put the cursor.
Alt-zNoYesYesReloadSolutionReloads a C# solution
Ctrl-eNoNoNoGoToReferencesLists references
Ctrl-lNoYesYesGoToImplementationGoes to abstract class
Alt-lNoNoNoGoToImplementationElseDeclarationGoes to the implemention first then if it can't find it goes to the declaration
Ctrl-fYes (1)Maybe (2)YesFixItDisplays trivial changes and fixes chosen ones automatically
Ctrl-oYesYesYesGetDocDisplays documentation in new buffer
Alt-oNoYesYesGetDocImpreciseFaster version but less accurate version of GetDoc.
Ctrl-rNoYesNo (3)RefactorRenameRenames a symbol in every file in the project
Ctrl-tYesYesYesGetTypeReturns the type of a variable or return the function signature.
Alt-tYesYesYesGetTypeImpreciseFaster but less accurate version of GetType
Ctrl-zNoYesYesRestartServerReloads the subserver
Ctrl-yNoYesYesGoToTypeGoes to a type
Ctrl-xNoYesYesClearCompilationFlagCacheClears and updates FlagsForFile from .ycm_extra_conf.py
Ctrl-pYesYesYesGetParentGets parent class or method
Ctrl-nYesYesYes-Sets the number of suggestions to show. Max 2, 4, 6 depending on characters per line.
Ctrl-spaceYesYesYes-Exits the completer commands menu
  • (1) It triggers randomly (in a not deterministic way). It works for %d->%sformat specifier, missing semicolon, identifier spelling errors. It was testedonly with the C language.
  • (2) It needs more test cases.
  • (3) Subserver problems were encountered.
  • (4) Interactive testing is performed.
  • (5) The results currently shown are from an older evaluated version. Breakagemay be encountered for newer versions.

Why use ycmd backend over the builtin WORDCOMPLETION?

ycmd allows to you use IntelliSense for C# sources usingomnisharp-server/omnisharp-roslyn that the big IDE editors have. It goes beyondword completion providing documentation about method signatures and real timesyntax checking (currently not supported in nano-ycmd).

What languages and dialects are supported?

  • JavaScript (1)
  • C# (2)
  • C (3)
  • C++ (3)
  • CUDA
  • Go
  • Python
  • Objective-C (3)
  • Objective-C++ (3)
  • Rust
  • TypeScript

Working with some of these languages require additional requirements:

  • (1) JavaScript support requires both .tern-project and .tern-config projectfiles to work.
  • (2) C# support requires a .sln project file to work.
  • (3) C, C++, Objective-C, Objective-C++ requires either a *.pro, configure,CMakeList.txt, GNUmakefile, Makefile, or makefile to work. An optional *.ninjafile may be supplied in your project and would require additional steps tohandle. build.meson is supported through the YCM-Generator's develop branch.

Why does the autocompleter not work with C, C++, Objective C, Objective C++ with a single hello world file?

You may forgot to have a Makefile, makefile GNUmakefile for make, *.pro forqmake, configure for autotools, CMakeLists.txt for cmake or forgot to set theYCMG_PROJECT_PATH to point to your top level project folder. nano-ycmd willpass it to bear and YCM-Generator to properly create a .ycm_extra_conf.py andcompile_commands.json. The compile_commands.json is for clang compliationdatabase system (http://clang.llvm.org/docs/JSONCompilationDatabase.html)..ycm_extra_conf.py contains headers and constants that are per project defined.

The completer commands doesn't work for C, C++, Objective C, Objective C++

Try deleting the compile_commands.json file and .ycm_extra_conf.py in thecurrent (working) directory. Those files should be only in the directorymentioned in the YCMG_PROJECT_PATH environmental variable passed into nano-ycmd.

Why is my intellisense not working with my C#?

You didn't set up ycmd correctly. It needs to see a sln file or maybeproject.json file if json is supported in ycmd.

Why is the master branch old?

I don't have an update bot yet.

Why is this not a plugin?

I don't see any plugin support in nano.

What do I need to pass to configure?

Your setup may vary depending on if your distro patched ycmd. In my case, Imodified ycmd to use absolute paths. The vanilla ycmd uses relative path to thethirdparty folder.

You need a crypto library. Choose ONE of either:

  • --with-libgcrypt

  • --with-nettle

  • --with-openssl

  • For license compatibility reasons, do not use older than OpenSSL 3.x.

You need to enable ycmd support

--enable-ycmd

You need to set up environmental variables to pass to the configure script:

(IMPORTANT) The python version must be the same as the compiled ycmd scripts.

YCMD_PATH="/usr/lib/python3.10/site-packages/ycmd"PYTHON_PATH="/usr/bin/python3.10"

The following are optional environmental variables to pass to the configure script pass empty "" if you don't want support:

for rust language:

RACERD_PATH="/usr/bin/racerd" RUST_SRC_PATH="/usr/share/rust/src"

for go language:

GODEF_PATH="/usr/bin/godef" GOCODE_PATH="/usr/bin/gocode"

for C / C++ / Objective-C / Objective-C++ language:

YCMG_PATH="/usr/bin/config_gen.py"

What would the resulting string look like to configure ycmd for the autotools build system?

./autogen.shCFLAGS="-g" \YCMG_PATH="/usr/bin/config_gen.py" \YCMG_PYTHON_PATH="/usr/bin/python3" \YCMD_PYTHON_PATH="/usr/bin/python3" \RACERD_PATH="/usr/bin/racerd" \RUST_SRC_PATH="/usr/share/rust/src" \GODEF_PATH="/usr/bin/godef" \GOCODE_PATH="/usr/bin/gocode" \YCMD_PATH="/usr/lib/python3.10/site-packages/ycmd" \./configure --enable-ycmd --with-opensslmake

The -g adds debugging information for developers for the gdb debugger but notneeded for regular users.

  • YCMG_PYTHON_PATH, YCMD_PYTHON_PATH is used in commit61b82be3e3b18b642ef75a1eee693f890127ba77. YCMG is refers to ycm-generator.

  • PYTHON_PATH is used for earlier builds.

YCM-Generator

The following environmental variables are defined by nano-ycmd are required forC family support (C/C++/ObjC/ObjC++):

  • YCMG_PROJECT_PATH - This should point to the folder containing the top-levelMakefile, configure, CMakeList.txt. (REQUIRED)
  • YCMG_FLAGS - This adds extra parameters to config_gen.py. I recommend usingmake over autotools specifically-b make because more include files areexposed instead of allowing YCM-Generator autodetect. This environment variableis optional but recommended be in use in certain situations.

So to use it in combination of nano-ycmd (ynano) without Ninja, it would looklike:

YCMG_FLAGS="-b make" \YCMG_PROJECT_PATH="/var/tmp/portage/app-editors/nano-ycmd-9999.20170201/work/nano-ycmd-7611e4eb827980da1057f6768d00bd322fa1c58f" \ynano ycmd.c

Also, if you add new libraries or files, you should delete both the.ycm_extra_conf.py and compile_commands.json so that nano-ycmd can regeneratethem.

Also, if you change languages between C, C++, Objective-C, Objective-C++ becauseyour project uses multiple languages, you should regenerate them when using thembecause it will produce new header include lists for that particular language.Currently no hotkey exist to delete and regenerate those files. nano-ycmdautomatically skips generation to save time if they already exist.

Ninja + YCM-Generator together

We need the YCMG_PROJECT_PATH above plus the two required environment variablesbelow:

  • NINJA_BUILD_PATH - This should point to the folder containing your *.ninjafile (REQUIRED)
  • NINJA_BUILD_TARGETS - This should be the rule(s) space seperated and listedunder the# Rules for compiling comment section and having the line begin withcommand = clang or whatever compiler you are using. (REQUIRED)

For NINJA_BUILD_TARGETS, the contents of gst-transcoder's build.ninja ispresented below:

# This is the build file for project "gst-renderer"# It is autogenerated by the Meson build system.# Do not edit by hand.ninja_required_version = 1.5.1# Rules for compiling.rule c_COMPILER command = clang  $ARGS '-MMD' '-MQ' $out '-MF' '$DEPFILE' -o $out -c $in deps = gcc depfile = $DEPFILE description = Compiling c object $outrule c_PCH command = clang  $ARGS '-MMD' '-MQ' $out '-MF' '$DEPFILE' -o $out -c $in deps = gcc depfile = $DEPFILE description = Precompiling header $in# Rules for linking.rule STATIC_LINKER command = ar $LINK_ARGS $out $in description = Static linking library $out

NINJA_BUILD_TARGETS can only be c_COMPILER and/or c_PCH but not STATIC_LINKER.Also it only works if your project is using both YCMG_PROJECT_PATH andNINJA_BUILD_TARGETS for Ninja support.

In the above example, we have a Makefile and a configure. We override theYCM-Generator autodetection because the .ycm_extra_conf.py contains more headerswith the Makefile preference over the autodetected configure with first comefirst serve priority.

For Ninja + Other build system, it should look like:

NINJA_BUILD_PATH="/var/tmp/portage/media-plugins/gst-transcoder-1.8.2-r1/work/gst-transcoder-1.8.2/mesonbuild" \NINJA_BUILD_TARGETS="c_COMPILER" \YCMG_PROJECT_PATH="/var/tmp/portage/media-plugins/gst-transcoder-1.8.2-r1/work/gst-transcoder-1.8.2" \ynano gst/transcode/gst-cpu-throttling-clock.c 2>out.txt

In the above example there is only a configure script in/var/tmp/portage/media-plugins/gst-transcoder-1.8.2-r1/work/gst-transcoder-1.8.2folder and is autodetected by YCM-Generator. A build.ninja file is located in/var/tmp/portage/media-plugins/gst-transcoder-1.8.2-r1/work/gst-transcoder-1.8.2/mesonbuildfolder.

Why does the user experience suck?

We are working on that. Feel free to merge your changes.

Why does it do only word matching within a single source code?

The example reference script used it that way.

Quality? Is it finished or complete?

Code completion as in looking outside of the current opened buffers in nano isfeature complete but the entire feature set of the completer commands is notfeature complete. The UX could also be improved.

What license is GNU nano released under?

GPL version 3 or newer

What license is nano-ycmd feature set released under?

It is GPL version 3 or newer

What could I do to help?

Add better user interface or user interaction. Emacs-ycmd is a good example.

Fix bugs or improve the speed. Solve why clang/llvm 3.9.1 doesn't show FixIts100% of the time as expected.

When will it be considered ready for review to be included in the official GNU nano?

After the UX has been polished and all the features are feature complete. Ifthey do not want to include this patchset, we will fork nano. I want thismerged eventually if possible or someone do it if I am gone or no longer workingon it.

Can I install both vanilla nano and nano-ycmd along side each other?

Yes you can, but you need to change the src/Makefile.am. Rerun autogen.sh. Doconfigure again specifying features then make. Just keep the binary only. Irecommend installing both since nano-ycmd is still a work in progress.

What is up with the debug spew?

If you compiled nano-ycmd with --enable-debug then you can redirect the stderrto a file to inspect it later. You should use --disable-debug if you are not adeveloper.

For example:

nano 2>/tmp/out.txt

Why does it keep asking for .ycm_extra_conf.py on startup?

This is a security precaution against automatically running a maliciouscompromised script or against exfiltrating sensitive data to an unauthorizedthreat actor. Before accepting it, you should inspect the contents carefullyfrom top to bottom for suspicious code. Do not accept if it containsunauthorized domains, obfuscated text, attempts to touch sensitivedata, attempts to access the network, etc.

ycmd will run this file after it has been confirmed safe to use by you in orderfor ycmd to work on this kind of project or this type of programming language.

Popup completer support

To add popup support, compile add--enable-ycmd-popup to configure.

Optionally these environment variables before calling nano.

  • NANO_YCMD_UI_MODE - Set tobottom orpopup to choose between classic bottom bar UI mode or popup UI mode.
  • NANO_YCMD_COMPLETION_LIMIT - Set to3-10 to control the number of rows suggestions to choose for popup UI mode.

The popup UI mode is a new introduction. Features from the classic mode stillneed to be integrated with the popup UI. The popup support is enabled bydefault.

To use it, press<CTRL>-Space for the word you are trying to complete.

String buffer max limit (SMAX)

There is a limit on the string buffers. This limit controls how much data canbe processed by string functions to a mitigate an availability attack. Itis set by an environment variable before calling nano. It is to preventa buffer overflow or calling unbounded strlen to unreasonable limit.

  • NANO_YCMD_SMAX - Set between1024 - 10485760 (or 1KB - 10 MB) to controlbuffer size. The default is 1048576 (1 MB).

Safe paths to completer dependencies

To increase the mitigation against path traversal vulnerability pass asemicolon (;) list of dir paths to depenencies using--with-bin-safe-paths=and--with-lib-safe-paths=. This is to mitigate against a misconfiguration ofdefault_settings.json that leads to Code Execution (CE), Privilege Escalation(PE), Data Tampering (DT), Information Disclosure (ID), Denial of Service (DoS).In addition mitigate against LD_PRELOAD hijack. For LD_PRELOAD, it isrestricted to allow only Scudo and libsandbox with extra path prefix checks toprevent path traversal attack and CE, PE, DT, ID, DoS. Provide only theabsolute paths to the bin folders or library. You can use realpath to resolverelative paths.

The directories forYCMD_PATH,YCMD_PYTHON_PATH,YCMG_PYTHON_PATH,GOCODE_PATH,GODEF_PATH,RUST_SRC_PATH,RACERD_PATH,YCMG_PATH,COMPDB_PATH,NINJA_PATHshould be added to--with-bin-safe-paths.

Example:

--with-bin-safe-paths="/usr/lib/python3.11/site-packages/ycmd/48/third_party/clangd/output/bin;/usr/lib/python3.11/site-packages/ycmd/48/third_party/go/bin;/usr/lib/python3.11/site-packages/ycmd/48/third_party/gocode;/usr/lib/python3.11/site-packages/ycmd/48/third_party/godef;/usr/lib/python3.11/site-packages/ycmd/48/third_party/omnisharp-roslyn;/usr/lib/python3.11/site-packages/ycmd/48/third_party/omnisharp-roslyn/bin;/usr/lib/python3.11/site-packages/ycmd/48/third_party/racerd;/usr/lib/python3.11/site-packages/ycmd/48/third_party/rls/bin;/usr/lib/python3.11/site-packages/ycmd/48/third_party/rust-analyzer;/usr/lib/python3.11/site-packages/ycmd/48/third_party/tsserver/node_modules/typescript/bin"

--with-lib-safe-paths="/usr/lib64;/usr/lib/clang/18/lib/linux"

If--with-scudo-lib= is used, if Scudo is recompiled or updated, nano-ycmdmust be recompiled to update the fingerprint associated with Scudo.

Special thanks goes to...

marchelzo and twkm from freenode ##C channel for the clear excess stdin fix.

Also see --version or

voidversion(void)
for other credits

How do I add changes?

  1. Click fork at the top of this page to create a repository on your account
  2. git clonehttps://github.com/orsonteodoro/nano-ycmd.git
  3. cd into folder
  4. git checkout -b myfeaturename
  5. make changes
  6. git commit -m "My description here"
  7. git push -u origin myfeaturename
  8. go to your repository
  9. make pull request

About

Modded GNU Nano using ycmd code completion and IntelliSense. The ycmd code completion support for nano is found in the ymcd-code-completion branch.

Topics

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
COPYING
Unknown
COPYING.DOC

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp