@@ -170,6 +170,14 @@ In linux or macOS, it can be \"mvn\"; In Windows, it can be \"mvn.cmd\". "
170170 :group 'meghanada
171171 :type 'boolean )
172172
173+ (defcustom meghanada-jvm-option nil
174+ " Set to all meghanada java process jvm option.
175+
176+ Example. (setq meghanada-jvm-option \" -Dhttp.proxyHost=test.proxy.com -Dhttp.proxyPort=8080\" )
177+ "
178+ :group 'meghanada
179+ :type 'string )
180+
173181(defcustom meghanada-server-jvm-option " -Xms128m -XX:ReservedCodeCacheSize=240m -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false"
174182 " Set to meghanada server process jvm option."
175183 :group 'meghanada
@@ -374,13 +382,20 @@ function."
374382 (meghanada--download-setup-jar)
375383 (meghanada--run-setup))
376384
385+ (defun meghanada--setup-options ()
386+ (let ((options '()))
387+ (when meghanada-jvm-option
388+ (push meghanada-jvm-option options))
389+ (mapconcat 'identity options " " )))
390+
377391(defun meghanada--run-setup ()
378392 " Setup meghanada server module."
379393 (let ((jar (meghanada--locate-setup-jar))
380394 (dest meghanada-server-install-dir))
381395 (if (file-exists-p jar)
382- (let ((cmd (format " %s -jar %s --dest %s --server-version %s --simple"
396+ (let ((cmd (format " %s %s -jar %s --dest %s --server-version %s --simple"
383397 (shell-quote-argument meghanada-java-path)
398+ (meghanada--setup-options)
384399 (shell-quote-argument jar)
385400 (expand-file-name dest)
386401 meghanada-version)))
@@ -500,10 +515,10 @@ function."
500515 (push (format " -Dmeghanada.completion.matcher=%s " meghanada-completion-matcher) options))
501516 (when meghanada-class-completion-matcher
502517 (push (format " -Dmeghanada.class.completion.matcher=%s " meghanada-class-completion-matcher) options))
518+ (when meghanada-jvm-option
519+ (push meghanada-jvm-option options))
503520 (push " -Djava.net.preferIPv4Stack=true" options)
504- (mapconcat 'identity
505- options
506- " " )))
521+ (mapconcat 'identity options " " )))
507522
508523(defun meghanada--start-server-process ()
509524 " TODO: FIX DOC ."
0 commit comments