@@ -11,6 +11,8 @@ INTRODUCTION |ddc-file-introduction|
1111DISPLAY RULES | ddc-file-display-rules |
1212INSTALL | ddc-file-install |
1313EXAMPLES | ddc-file-examples |
14+ BASIC EXAMPLES | ddc-file-example-basic |
15+ NODE MODULES EXAMPLES | ddc-file-example-node |
1416PARAMS | ddc-file-params |
1517FREQUENTLY ASKED QUESTIONS (FAQ) | ddc-file-faq |
1618
@@ -49,6 +51,11 @@ https://github.com/vim-denops/denops.vim
4951
5052==============================================================================
5153EXAMPLES *ddc-file-examples*
54+
55+ I welcome PRs for your useful ideas.
56+
57+ ------------------------------------------------------------------------------
58+ BASIC EXAMPLE *ddc-file-example-basic*
5259>
5360 call ddc#custom#patch_global('sources', ['file'])
5461 call ddc#custom#patch_global('sourceOptions', {
@@ -71,6 +78,60 @@ EXAMPLES *ddc-file-examples*
7178 \ }})
7279<
7380
81+ ------------------------------------------------------------------------------
82+ NODE MODULES EXAMPLE *ddc-file-example-node*
83+
84+ Find any files under node_modules/ folder from JS-family filetype buffers. You
85+ can see the completion when typing like `import ... from "<cursor> ` in JS
86+ files. This collects files from up to 3 node_modules/ folders for example
87+ useful in monorepos.
88+ This config does not conflict with | ddc-file-example-basic | .
89+ >
90+ call ddc#custom#alias('source', 'node-modules', 'file')
91+ call ddc#custom#patch_global({
92+ \ 'sourceOptions': {
93+ \ 'node-modules': {
94+ \ 'mark': 'NODE',
95+ \ 'isVolatile': v:true,
96+ \ 'minAutoCompleteLength': 10000,
97+ \ 'forceCompletionPattern':
98+ \ '(?:'
99+ \ . '\bimport|'
100+ \ . '\bfrom|'
101+ \ . '\brequire\s*\(|'
102+ \ . '\bresolve\s*\(|'
103+ \ . '\bimport\s*\('
104+ \ . ')'
105+ \ . '\s*(?:''|"|`)[^''"`]*',
106+ \ },
107+ \ },
108+ \ 'sourceParams': {
109+ \ 'node-modules': {
110+ \ 'cwdMaxCandidates': 0,
111+ \ 'bufMaxCandidates': 0,
112+ \ 'followSymlinks': v:true,
113+ \ 'projMarkers': ['node_modules'],
114+ \ 'projFromCwdMaxCandidates': [],
115+ \ 'projFromBufMaxCandidates': [],
116+ \ 'beforeResolve': 'node_modules',
117+ \ 'displayBuf': '',
118+ \ },
119+ \ }})
120+ call ddc#custom#patch_filetype(
121+ \ [
122+ \ 'javascript',
123+ \ 'typescript',
124+ \ 'javascriptreact',
125+ \ 'typescriptreact',
126+ \ 'tsx',
127+ \ ], {
128+ \ 'sourceParams': {
129+ \ 'node-modules': {
130+ \ 'projFromBufMaxCandidates': [1000, 1000, 1000],
131+ \ },
132+ \ }})
133+ <
134+
74135==============================================================================
75136PARAMS *ddc-file-params*
76137
@@ -186,6 +247,20 @@ disableMenu (boolean)
186247
187248 Default: false
188249
250+ *ddc-file-params-beforeResolve*
251+ *ddc-file-params-afterResolve*
252+ beforeResolve (string) Default: ""
253+ afterResolve (string) Default: ""
254+ Your input will be transformed as join(find-root,
255+ beforeResolve, input, afterResolve). Empty strings are
256+ skipped. Path "find-root" denotes cwd/buf or found
257+ project-root by other settings. See | ddc-file-example-node |
258+ for example. You can specify absolute path to complete for
259+ specific folder, like with configuring
260+ `beforeResolve: '/usr/bin'` .
261+
262+ Default: ""
263+
189264 *ddc-file-params-displayFile*
190265 *ddc-file-params-displayDir*
191266 *ddc-file-params-displaySym*
0 commit comments