@@ -128,6 +128,99 @@ Suggested values are:
128
128
" Return the path where Dash's docsets are stored."
129
129
(expand-file-name helm-dash-docsets-path))
130
130
131
+
132
+ (defun helm-dash-check-mode-docsets-alist (&optional silentp )
133
+ (dolist (mode-docsets helm-dash-mode-docsets-alist)
134
+ (setf (cdr mode-docsets)
135
+ (let (ret)
136
+ (dolist (docset (cdr mode-docsets))
137
+ (if (helm-dash-docset-path docset)
138
+ (push docset ret)
139
+ (let ((docset-n (mapconcat #'identity (split-string docset) " _" )))
140
+ (if (helm-dash-docset-path docset-n)
141
+ (push docset-n ret)
142
+ (unless silentp
143
+ (message " [helm-dash] Warning: Can not find %s docset! " docset))))))
144
+ ret))))
145
+
146
+ (let ((js-cd '(" JavaScript" " jQuery" " Bootstrap_4" " React" " Lo-Dash" " BackboneJS" " RequireJS" " EmberJS"
147
+ " MongoDB" " NodeJS" " Meteor" " MooTools" " jQuery_UI" " jQuery_Mobile" ))
148
+ (c-cd '(" OpenGL_4" " OpenGL_3" " OpenGL_2" ))
149
+ (css-cd '(" CSS" " Bootstrap_4" ))
150
+ (ja-cd '(" Java_SE8" " Java_EE7" " JavaFX" " Akka" ))
151
+ (erl-cd '(" Erlang" ))
152
+ (pl-cd '(" Perl" ))
153
+ (conf-cd '(" Nginx" " Apache_HTTP_Server" )))
154
+ (defcustom helm-dash-mode-docsets-alist
155
+ `((js-mode . , js-cd ) (js2-mode . , js-cd )
156
+ (coffee-mode . (" CoffeeScript" ,@js-cd ))
157
+ (typescript-mode . (" TypeScript" ,@js-cd ))
158
+
159
+ ,@(let (ret)
160
+ (dolist (cf-m '(conf-mode conf-javaprop-mode conf-ppd-mode conf-colon-mode conf-space-mode
161
+ conf-unix-mode conf-windows-mode conf-xdefaults-mode))
162
+ (push (cons cf-m conf-cd) ret))
163
+ ret)
164
+ (sh-mode . (" Bash" " Vagrant" " Ansible" " Chef" ))
165
+ (tcl-mode . (" Tcl" ))
166
+ (dockerfile-mode . (" Docker" ))
167
+
168
+ (css-mode . , css-cd )
169
+ (less-css-mode . (" Less" ,@css-cd ))
170
+ (sass-mode . (" Sass" ,@css-cd ))
171
+
172
+ (html-mode . (" HTML" ,@css-cd ))
173
+ (haml-mode . (" Haml" " HTML" ,@css-cd ))
174
+ (markdown-mode . (" Markdown" " HTML" ,@css-cd ))
175
+ (jinja2-mode . (" Jinja" " HTML" ,@css-cd ))
176
+ (latex-mode . (" LaTeX" ))
177
+
178
+ (c-mode . (" C" " GLib" ,@c-cd " OpenCV_C" ))
179
+ (c++-mode . (" C++" " Qt_5" " Boost" ,@c-cd " OpenCV_C++" ))
180
+ (rust-mode . (" Rust" ))
181
+
182
+ (cmake-mode . (" CMake" ))
183
+
184
+ (java-mode . (,@ja-cd " Android" " OpenCV_Java" " Spring_Framework" ))
185
+ (scala-mode . (" Scala" " Play_Scala" ,@ja-cd ))
186
+ (clojure-mode . (" Clojure" ,@ja-cd ))
187
+
188
+ (csharp-mode . (" Mono" " Unity_3D" " NET_Framework" ))
189
+ (swift-mode . (" Swift" ))
190
+ (go-mode . (" Go" ))
191
+
192
+ (php-mode . (" PHP" " Laravel" " Yii" " Symfony" ))
193
+ (ruby-mode . (" Ruby" " Ruby_on_Rails_5" ))
194
+ (python-mode . (" Python_3" " Django" " SQLAlchemy" " Flask" " Jinja" " NumPy" " SciPy" " OpenCV_Python" ))
195
+ (perl-mode . , pl-cd )(cperl-mode . , pl-cd )
196
+ (lua-mode . (" Lua_5.1" ))
197
+
198
+ (sql-mode . (" PostgreSQL" " MySQL" ))
199
+
200
+ (erlang-mode . , erl-cd )
201
+ (elixir-mode . (" Elixir" ,@erl-cd ))
202
+
203
+ (emacs-lisp-mode . (" Emacs_Lisp" ))
204
+ (lisp-mode . (" Common_Lisp" ))
205
+ (racket-mode . (" Racket" ))
206
+ (ess-mode . (" R" ))
207
+
208
+ (haskell-mode . (" Haskell" ))
209
+ (ocaml-mode . (" OCaml" )))
210
+ " What docsets to activate for a major-mode."
211
+ :group 'helm-dash
212
+ :type '(alist :key-type (symbol :tag " Mode" ) :value-type (repeat :tag " Docsets" string))
213
+ :set #' (lambda (sym val )
214
+ (set-default sym val)
215
+ (helm-dash-check-mode-docsets-alist))))
216
+
217
+ ;;;### autoload
218
+ (defun helm-dash-set-apropriate-major-mode-docsets ()
219
+ (let ((docsets (cdr (assoc major-mode helm-dash-mode-docsets-alist))))
220
+ (when docsets
221
+ (setq-local helm-dash-docsets docsets))))
222
+
223
+
131
224
(defun helm-dash-sql (db-path sql )
132
225
" Run the sql command, parse the results and display errors"
133
226
(helm-dash-parse-sql-results
0 commit comments