Skip to content

Commit bee9c89

Browse files
committed
add common jvm options
1 parent a99d78b commit bee9c89

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

meghanada.el

+19-4
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)