unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#66726: 29.1; Eglot jdtls formatter ignored
@ 2023-10-24  9:17 Cay Horstmann
  2023-10-29 12:08 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Cay Horstmann @ 2023-10-24  9:17 UTC (permalink / raw)
  To: 66726

[-- Attachment #1: Type: text/plain, Size: 5058 bytes --]

Eglot does not trigger a custom formatter with jdtls, while lsp-java and VS Code with the Red Hat Java plugin can do this. See https://github.com/joaotavora/eglot/discussions/1222 for more background.

I attach files
* eglot-debug.el (the minimal configuration to see the failure)
* NotHelloWorld.java (a sample Java file)
* cay-eclipse-formatter.xml (the formatting rules for jdtls)
* eglot-events.txt (the events log from eglot)
* lsp-java-debug.el (the minimal configuration to see how it works with lsp-java)
* lsp-log.txt (the log from the successful run with lsp)

Download jdtls from https://download.eclipse.org/jdtls/snapshots/?d. I
have the version from Oct. 14, 2023. Put it somewhere on your PATH

Put the NotHelloWorld.java file in some directory (I use /tmp/hello)

Put the cay-eclipse-formatter.xml file somewhere and adjust the path in eglot-debug.el and lsp-java-debug.el.

emacs -q -l eglot-debug.el /tmp/hello/NotHelloWorld.java

M-x eglot RET

Wait for jdtls to start

M-x eglot-format-buffer RET

The formatting should now use the rules in the cay-eclipse-formatter.xml
file, resulting in 8 changes but the same Allman indentation
style. Instead, it uses a K&R indentation style.

To see the proper formatting, install lsp-mode and lsp-java and start with lsp-java-debug.el. Or use VS Code with the Red Hat Java plugin and the settings.json

{
     "java.format.settings.url": "file:///data/cay/bin/cay-eclipse.formatter.xml",
     "java.format.settings.profile": "cay"
}



In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33,
  cairo version 1.16.0) of 2023-08-15 built on cay-ThinkPad-X1-Yoga-Gen-7
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.3 LTS

Configured using:
  'configure --with-tree-sitter'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

Important settings:
   value of $LC_MONETARY: de_DE.UTF-8
   value of $LC_NUMERIC: en_US.UTF-8
   value of $LC_TIME: en_DK.UTF-8
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=none
   locale-coding-system: utf-8-unix

Major mode: Java//l

Minor modes in effect:
   eglot-inlay-hints-mode: t
   eglot--managed-mode: t
   flymake-mode: t
   tooltip-mode: t
   global-eldoc-mode: t
   eldoc-mode: t
   show-paren-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   line-number-mode: t
   indent-tabs-mode: t
   transient-mark-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
files-x find-dired dired dired-loaddefs grep time-date cl-extra cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs eglot external-completion array filenotify jsonrpc ert pp ewoc
debug backtrace help-mode find-func xref flymake-proc flymake thingatpt
warnings icons compile text-property-search comint ansi-osc ansi-color
ring pcase url-util url-parse auth-source cl-seq eieio eieio-core
cl-macs password-cache json subr-x map url-vars project byte-opt gv
bytecomp byte-compile imenu cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
emacs)

Memory information:
((conses 16 107858 9131)
  (symbols 48 11792 0)
  (strings 32 34568 1702)
  (string-bytes 1 1192636)
  (vectors 16 23157)
  (vector-slots 8 313544 12514)
  (floats 8 39 90)
  (intervals 56 661 0)
  (buffers 984 18))

[-- Attachment #2: eglot-debug.el --]
[-- Type: text/x-emacs-lisp, Size: 584 bytes --]

(require 'eglot)

                                        ;
(add-to-list 'eglot-server-programs
             `(java-mode . ("jdtls"
                            :initializationOptions
                            (:settings
                             (:java
                              (:format
                               (:enabled t :comments (:enabled t) :onType (:enabled t) 
                                         :settings
                                (:url "file:///data/cay/bin/cay-eclipse.formatter.xml"
                                      :profile "cay"))))))))

[-- Attachment #3: lsp-java-debug.el --]
[-- Type: text/x-emacs-lisp, Size: 255 bytes --]

(setq lsp-log-io t)
(use-package lsp-mode)
(use-package lsp-java
  :ensure t
  :init
  (setq 
        lsp-java-format-settings-url "/home/cay/bin/cay-eclipse.formatter.xml"
        lsp-java-format-settings-profile "cay"))
(add-hook 'java-mode-hook #'lsp)

[-- Attachment #4: NotHelloWorld.java --]
[-- Type: text/x-java, Size: 1282 bytes --]

import javax.swing.*;
import java.awt.*;

/**
 * @version 1.32 2007-06-12
 * @author Cay Horstmann
 */
public class NotHelloWorld
{
   public static void main(String[] args)
   {
      EventQueue.invokeLater(new Runnable()
         {
            public void run()
            {
               NotHelloWorldFrame frame = new NotHelloWorldFrame();
               frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               frame.setVisible(true);
            }
         });
   }
}

/**
 * A frame that contains a message panel
 */
class NotHelloWorldFrame extends JFrame
{
   public NotHelloWorldFrame()
   {
      setTitle("NotHelloWorld");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      // add panel to frame

      NotHelloWorldComponent comp = new NotHelloWorldComponent();
      add(comp);
   }

   public static final int DEFAULT_WIDTH = 300;
   public static final int DEFAULT_HEIGHT = 200;
}

/**
 * A component that displays a message.
 */
class NotHelloWorldComponent extends JComponent
{
   public void paintComponent(Graphics g)
   {
      g.drawString("Not a Hello, World program", MESSAGE_X, MESSAGE_Y);
   }

   public static final int MESSAGE_X = 75;
   public static final int MESSAGE_Y = 100;
}

[-- Attachment #5: cay-eclipse.formatter.xml --]
[-- Type: text/xml, Size: 132037 bytes --]

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="21">
    <profile kind="CodeFormatterProfile" name="cay" version="21">
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indentation.size" value="3"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_annotations" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="3"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
    </profile>
    <profile kind="CodeFormatterProfile" name="impatient" version="21">
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_annotations" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
    </profile>
    <profile kind="CodeFormatterProfile" name="pfh" version="21">
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_annotations" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="49"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
        <setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
        <setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
        <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
    </profile>
</profiles>

[-- Attachment #6: eglot-events.txt --]
[-- Type: text/plain, Size: 60509 bytes --]

[internal] Tue Oct 24 10:20:23 2023:
(:message "Running language server: jdtls")
[client-request] (id:1) Tue Oct 24 10:20:23 2023:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
	  (:processId 2767335 :rootPath "/tmp/hello/" :rootUri "file:///tmp/hello" :initializationOptions
		      (:settings
		       (:java
			(:format
			 (:enabled t :comments
				   (:enabled t)
				   :onType
				   (:enabled t)
				   :settings
				   (:url "file:///data/cay/bin/cay-eclipse.formatter.xml" :profile "cay")))))
		      :capabilities
		      (:workspace
		       (:applyEdit t :executeCommand
				   (:dynamicRegistration :json-false)
				   :workspaceEdit
				   (:documentChanges t)
				   :didChangeWatchedFiles
				   (:dynamicRegistration t)
				   :symbol
				   (:dynamicRegistration :json-false)
				   :configuration t :workspaceFolders t)
		       :textDocument
		       (:synchronization
			(:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
			:completion
			(:dynamicRegistration :json-false :completionItem
					      (:snippetSupport :json-false :deprecatedSupport t :resolveSupport
							       (:properties
								["documentation" "details" "additionalTextEdits"])
							       :tagSupport
							       (:valueSet
								[1]))
					      :contextSupport t)
			:hover
			(:dynamicRegistration :json-false :contentFormat
					      ["plaintext"])
			:signatureHelp
			(:dynamicRegistration :json-false :signatureInformation
					      (:parameterInformation
					       (:labelOffsetSupport t)
					       :activeParameterSupport t))
			:references
			(:dynamicRegistration :json-false)
			:definition
			(:dynamicRegistration :json-false :linkSupport t)
			:declaration
			(:dynamicRegistration :json-false :linkSupport t)
			:implementation
			(:dynamicRegistration :json-false :linkSupport t)
			:typeDefinition
			(:dynamicRegistration :json-false :linkSupport t)
			:documentSymbol
			(:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind
					      (:valueSet
					       [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26]))
			:documentHighlight
			(:dynamicRegistration :json-false)
			:codeAction
			(:dynamicRegistration :json-false :codeActionLiteralSupport
					      (:codeActionKind
					       (:valueSet
						["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"]))
					      :isPreferredSupport t)
			:formatting
			(:dynamicRegistration :json-false)
			:rangeFormatting
			(:dynamicRegistration :json-false)
			:rename
			(:dynamicRegistration :json-false)
			:inlayHint
			(:dynamicRegistration :json-false)
			:publishDiagnostics
			(:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport
					     (:valueSet
					      [1 2])))
		       :window
		       (:workDoneProgress t)
		       :general
		       (:positionEncodings
			["utf-32" "utf-8" "utf-16"])
		       :experimental #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
						   ()))
		      :workspaceFolders
		      [(:uri "file:///tmp/hello" :name "/tmp/hello/")]))
[stderr] WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.vector
[stderr] Oct 24, 2023 10:20:24 AM org.apache.aries.spifly.BaseActivator log
[stderr] INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
[stderr] Oct 24, 2023 10:20:24 AM org.apache.aries.spifly.BaseActivator log
[stderr] INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "Init..."))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "0% Starting Java Language Server"))
[server-request] (id:1) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "1" :method "window/workDoneProgress/create" :params
	  (:token "37aee26a-1230-4140-b903-7ee662d6c918"))
[client-reply] (id:1) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "1" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "37aee26a-1230-4140-b903-7ee662d6c918" :value
		  (:kind "begin" :title "Initialize Workspace" :message "Initialize Workspace")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "37aee26a-1230-4140-b903-7ee662d6c918" :value
		  (:kind "report" :message "Initialize Workspace - 0% " :percentage 0)))
[server-reply] (id:1) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id 1 :result
	  (:capabilities
	   (:textDocumentSync
	    (:openClose t :change 2 :willSave t :willSaveWaitUntil t :save
			(:includeText t))
	    :hoverProvider t :completionProvider
	    (:resolveProvider t :triggerCharacters
			      ["." "@" "#" "*" " "])
	    :signatureHelpProvider
	    (:triggerCharacters
	     ["(" ","])
	    :definitionProvider t :typeDefinitionProvider t :implementationProvider t :referencesProvider t :documentHighlightProvider t :documentSymbolProvider t :workspaceSymbolProvider t :codeActionProvider t :codeLensProvider
	    (:resolveProvider t)
	    :documentFormattingProvider t :documentRangeFormattingProvider t :documentOnTypeFormattingProvider
	    (:firstTriggerCharacter ";" :moreTriggerCharacter
				    ["\n" "}"])
	    :renameProvider
	    (:prepareProvider t)
	    :foldingRangeProvider t :executeCommandProvider
	    (:commands
	     ["java.project.import" "java.navigate.openTypeHierarchy" "java.project.resolveStackTraceLocation" "java.edit.handlePasteEvent" "java.edit.stringFormatting" "java.project.getSettings" "java.project.resolveWorkspaceSymbol" "java.project.upgradeGradle" "java.project.createModuleInfo" "java.edit.organizeImports" "java.project.refreshDiagnostics" "java.project.removeFromSourcePath" "java.project.listSourcePaths" "java.project.getAll" "java.reloadBundles" "java.project.isTestFile" "java.project.getClasspaths" "java.navigate.resolveTypeHierarchy" "java.edit.smartSemicolonDetection" "java.project.updateSourceAttachment" "java.decompile" "java.protobuf.generateSources" "java.project.resolveSourceAttachment" "java.project.addToSourcePath" "java.completion.onDidSelect"])
	    :workspace
	    (:workspaceFolders
	     (:supported t :changeNotifications t))
	    :typeHierarchyProvider t :callHierarchyProvider t :selectionRangeProvider t :semanticTokensProvider
	    (:legend
	     (:tokenTypes
	      ["namespace" "class" "interface" "enum" "enumMember" "type" "typeParameter" "method" "property" "variable" "parameter" "modifier" "keyword" "annotation" "annotationMember" "record" "recordComponent"]
	      :tokenModifiers
	      ["abstract" "static" "readonly" "deprecated" "declaration" "documentation" "public" "private" "protected" "native" "generic" "typeArgument" "importDeclaration" "constructor"])
	     :range :json-false :full
	     (:delta :json-false)
	     :documentSelector
	     [(:language "java" :scheme "file")
	      (:language "java" :scheme "jdt")])
	    :inlayHintProvider t)))
[client-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
							    ()))
[client-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java" :version 0 :languageId "java" :text "import javax.swing.*;\nimport java.awt.*;\n\n/**\n * @version 1.32 2007-06-12\n * @author Cay Horstmann\n */\npublic class NotHelloWorld\n{\n   public static void main(String[] args)\n   {\n      EventQueue.invokeLater(new Runnable()\n      {\n         public void run()\n         {\n            NotHelloWorldFrame frame = new NotHelloWorldFrame();\n            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n            frame.setVisible(true);\n         }\n      });\n   }\n}\n\n/**\n * A frame that contains a message panel\n */\nclass NotHelloWorldFrame extends JFrame\n{\n   public NotHelloWorldFrame()\n   {\n      setTitle(\"NotHelloWorld\");\n      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);\n\n      // add panel to frame\n\n      NotHelloWorldComponent comp = new NotHelloWorldComponent();\n      add(comp);\n   }\n\n   public static final int DEFAULT_WIDTH = 300;\n   public static final int DEFAULT_HEIGHT = 200;\n}\n\n/**\n * A component that displays a message.\n */\nclass NotHelloWorldComponent extends JComponent\n{\n   public void paintComponent(Graphics g)\n   {\n      g.drawString(\"Not a Hello, World program\", MESSAGE_X, MESSAGE_Y);\n   }\n\n   public static final int MESSAGE_X = 75;\n   public static final int MESSAGE_Y = 100;\n}\n")))
[client-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
	  (:settings #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
				   ())))
[server-request] (id:2) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "2" :method "window/workDoneProgress/create" :params
	  (:token "98c1cda7-d85a-4ea2-b117-dd96bb933ea7"))
[client-reply] (id:2) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "2" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "98c1cda7-d85a-4ea2-b117-dd96bb933ea7" :value
		  (:kind "begin" :title "Repository registry initialization" :message "Repository registry initialization")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "98c1cda7-d85a-4ea2-b117-dd96bb933ea7" :value
		  (:kind "end" :message "Repository registry initialization")))
[client-request] (id:2) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id 2 :method "textDocument/inlayHint" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java")
	   :range
	   (:start
	    (:line 0 :character 0)
	    :end
	    (:line 56 :character 0))))
[server-request] (id:3) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "3" :method "window/workDoneProgress/create" :params
	  (:token "a620ddd5-dd28-4c82-94c9-0e68c4aec748"))
[client-reply] (id:3) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "3" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a620ddd5-dd28-4c82-94c9-0e68c4aec748" :value
		  (:kind "begin" :title "Look up for installed JVMs" :message "Look up for installed JVMs")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a620ddd5-dd28-4c82-94c9-0e68c4aec748" :value
		  (:kind "report" :message "Look up for installed JVMs - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a620ddd5-dd28-4c82-94c9-0e68c4aec748" :value
		  (:kind "end" :message "/usr/lib/jvm/java-11-openjdk-amd64")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "30% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "37aee26a-1230-4140-b903-7ee662d6c918" :value
		  (:kind "report" :message "Initialize Workspace - 30% " :percentage 30)))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "ProjectStatus" :message "OK"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "100% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "37aee26a-1230-4140-b903-7ee662d6c918" :value
		  (:kind "end" :message "Initialize Workspace")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "1000% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "1005% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "1010% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "1100% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "1100% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Started" :message "Ready"))
[server-request] (id:4) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "4" :method "window/workDoneProgress/create" :params
	  (:token "c0b0dac3-2ef4-405d-9204-1dbe50c2d743"))
[client-reply] (id:4) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "4" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "c0b0dac3-2ef4-405d-9204-1dbe50c2d743" :value
		  (:kind "begin" :title "Synchronizing projects" :message "Synchronizing projects")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "c0b0dac3-2ef4-405d-9204-1dbe50c2d743" :value
		  (:kind "report" :message "Synchronizing projects - 0% " :percentage 0)))
[server-request] (id:5) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "5" :method "window/workDoneProgress/create" :params
	  (:token "9220a7d4-3e3f-41a5-a8ff-4b02ec296914"))
[client-reply] (id:5) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "5" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "9220a7d4-3e3f-41a5-a8ff-4b02ec296914" :value
		  (:kind "begin" :title "Synchronizing projects" :message "Synchronizing projects")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "9220a7d4-3e3f-41a5-a8ff-4b02ec296914" :value
		  (:kind "report" :message "Synchronizing projects - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "Starting" :message "1100% Starting Java Language Server"))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "c0b0dac3-2ef4-405d-9204-1dbe50c2d743" :value
		  (:kind "end" :message "Synchronizing projects")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "9220a7d4-3e3f-41a5-a8ff-4b02ec296914" :value
		  (:kind "end" :message "Synchronizing projects")))
[server-request] (id:6) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "6" :method "client/registerCapability" :params
	  (:registrations
	   [(:id "2481062b-b332-49b4-93d7-017ff905ee40" :method "workspace/didChangeWatchedFiles" :registerOptions
		 (:watchers
		  [(:globPattern "**/*.java")
		   (:globPattern "**/.project")
		   (:globPattern "**/.classpath")
		   (:globPattern "**/.settings/*.prefs")
		   (:globPattern "**/src/**")
		   (:globPattern "**/*.gradle")
		   (:globPattern "**/*.gradle.kts")
		   (:globPattern "**/gradle.properties")
		   (:globPattern "**/pom.xml")
		   (:globPattern "/tmp/hello/lib/**")
		   (:globPattern "**/.settings")
		   (:globPattern "/tmp/hello/**")
		   (:globPattern "/data/cay/bin/cay-eclipse.formatter.xml")]))]))
[client-reply] (id:6) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "6" :result nil)
[server-request] (id:7) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "7" :method "client/registerCapability" :params
	  (:registrations
	   [(:id "dd57e09e-b2e1-4656-9de5-043c60657cf3" :method "workspace/didChangeWorkspaceFolders")]))
[client-reply] (id:7) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "7" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "language/status" :params
	  (:type "ServiceReady" :message "ServiceReady"))
[server-request] (id:8) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "8" :method "window/workDoneProgress/create" :params
	  (:token "5e2adea4-cf84-4974-83f2-9aeeadd55b64"))
[client-reply] (id:8) Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :id "8" :result nil)
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "5e2adea4-cf84-4974-83f2-9aeeadd55b64" :value
		  (:kind "begin" :title "Refreshing workspace" :message "Refreshing workspace")))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "5e2adea4-cf84-4974-83f2-9aeeadd55b64" :value
		  (:kind "report" :message "Refreshing workspace - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:25 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "5e2adea4-cf84-4974-83f2-9aeeadd55b64" :value
		  (:kind "end" :message "Refreshing workspace")))
[server-request] (id:9) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "9" :method "window/workDoneProgress/create" :params
	  (:token "6eb027f8-3801-49fb-9e7b-6d24fb41db13"))
[client-reply] (id:9) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "9" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "6eb027f8-3801-49fb-9e7b-6d24fb41db13" :value
		  (:kind "begin" :title "Synchronizing projects" :message "Synchronizing projects")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "6eb027f8-3801-49fb-9e7b-6d24fb41db13" :value
		  (:kind "report" :message "Synchronizing projects - 0% " :percentage 0)))
[server-request] (id:10) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "10" :method "window/workDoneProgress/create" :params
	  (:token "7babd4fb-fd85-48d2-a91c-20745225027b"))
[client-reply] (id:10) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "10" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7babd4fb-fd85-48d2-a91c-20745225027b" :value
		  (:kind "begin" :title "Synchronizing projects" :message "Synchronizing projects")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "6eb027f8-3801-49fb-9e7b-6d24fb41db13" :value
		  (:kind "end" :message "Synchronizing projects")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7babd4fb-fd85-48d2-a91c-20745225027b" :value
		  (:kind "report" :message "Synchronizing projects - 0% " :percentage 0)))
[server-request] (id:11) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "11" :method "window/workDoneProgress/create" :params
	  (:token "4416d83b-8607-4cd7-bbd2-ca27840c77e2"))
[client-reply] (id:11) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "11" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4416d83b-8607-4cd7-bbd2-ca27840c77e2" :value
		  (:kind "begin" :title "Clean workspace..." :message "Clean workspace...")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4416d83b-8607-4cd7-bbd2-ca27840c77e2" :value
		  (:kind "report" :message "Clean workspace... - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7babd4fb-fd85-48d2-a91c-20745225027b" :value
		  (:kind "end" :message "Synchronizing projects")))
[server-request] (id:12) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "12" :method "window/workDoneProgress/create" :params
	  (:token "b2de6fad-b2c8-4f64-acb0-4d2b8b7994ea"))
[client-reply] (id:12) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "12" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "b2de6fad-b2c8-4f64-acb0-4d2b8b7994ea" :value
		  (:kind "begin" :title "Background task" :message "Background task")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "b2de6fad-b2c8-4f64-acb0-4d2b8b7994ea" :value
		  (:kind "report" :message "Background task - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4416d83b-8607-4cd7-bbd2-ca27840c77e2" :value
		  (:kind "end" :message "Clean workspace...")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:13) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "13" :method "window/workDoneProgress/create" :params
	  (:token "f681dc0b-2db4-4b77-80b4-444f6110615e"))
[client-reply] (id:13) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "13" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "f681dc0b-2db4-4b77-80b4-444f6110615e" :value
		  (:kind "begin" :title "Validate documents" :message "Validate documents")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "f681dc0b-2db4-4b77-80b4-444f6110615e" :value
		  (:kind "report" :message "Validate documents - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "f681dc0b-2db4-4b77-80b4-444f6110615e" :value
		  (:kind "end" :message "Validate documents")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "b2de6fad-b2c8-4f64-acb0-4d2b8b7994ea" :value
		  (:kind "end" :message "Background task")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:14) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "14" :method "window/workDoneProgress/create" :params
	  (:token "a5b0f2f5-6975-43de-85af-cc88b3baa267"))
[client-reply] (id:14) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "14" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a5b0f2f5-6975-43de-85af-cc88b3baa267" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a5b0f2f5-6975-43de-85af-cc88b3baa267" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a5b0f2f5-6975-43de-85af-cc88b3baa267" :value
		  (:kind "end" :message "Building")))
[server-request] (id:15) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "15" :method "window/workDoneProgress/create" :params
	  (:token "b97159fb-aa3d-446f-b9ce-c0c554527a6b"))
[client-reply] (id:15) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "15" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "b97159fb-aa3d-446f-b9ce-c0c554527a6b" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "b97159fb-aa3d-446f-b9ce-c0c554527a6b" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "b97159fb-aa3d-446f-b9ce-c0c554527a6b" :value
		  (:kind "end" :message "Building")))
[server-request] (id:16) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "16" :method "client/unregisterCapability" :params
	  (:unregisterations
	   [(:id "2481062b-b332-49b4-93d7-017ff905ee40" :method "workspace/didChangeWatchedFiles")]))
[client-reply] (id:16) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "16" :result nil)
[server-request] (id:17) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "17" :method "client/registerCapability" :params
	  (:registrations
	   [(:id "2481062b-b332-49b4-93d7-017ff905ee40" :method "workspace/didChangeWatchedFiles" :registerOptions
		 (:watchers
		  [(:globPattern "**/*.java")
		   (:globPattern "**/.project")
		   (:globPattern "**/.classpath")
		   (:globPattern "**/.settings/*.prefs")
		   (:globPattern "**/src/**")
		   (:globPattern "**/*.gradle")
		   (:globPattern "**/*.gradle.kts")
		   (:globPattern "**/gradle.properties")
		   (:globPattern "**/pom.xml")
		   (:globPattern "/tmp/hello/lib/**")
		   (:globPattern "**/.settings")
		   (:globPattern "/tmp/hello/**")]))]))
[client-reply] (id:17) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "17" :result nil)
[server-request] (id:18) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "18" :method "window/workDoneProgress/create" :params
	  (:token "376c5523-94dd-4849-9839-df985bb9bc71"))
[client-reply] (id:18) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "18" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "376c5523-94dd-4849-9839-df985bb9bc71" :value
		  (:kind "begin" :title "Register Watchers" :message "Register Watchers")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "376c5523-94dd-4849-9839-df985bb9bc71" :value
		  (:kind "end" :message "Register Watchers")))
[server-reply] (id:2) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id 2 :result
	  [(:position
	    (:line 17 :character 29)
	    :label "b:")
	   (:position
	    (:line 30 :character 15)
	    :label "title:")
	   (:position
	    (:line 50 :character 19)
	    :label "str:")])
[server-request] (id:19) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "19" :method "window/workDoneProgress/create" :params
	  (:token "7a32efc5-7e2f-49ca-bef7-50410d1157f3"))
[client-reply] (id:19) Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :id "19" :result nil)
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7a32efc5-7e2f-49ca-bef7-50410d1157f3" :value
		  (:kind "begin" :title "Publish Diagnostics" :message "Publish Diagnostics")))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7a32efc5-7e2f-49ca-bef7-50410d1157f3" :value
		  (:kind "report" :message "Publish Diagnostics - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:26 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/hello/NotHelloWorld.java" :diagnostics
		[]))
[server-notification] Tue Oct 24 10:20:27 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7a32efc5-7e2f-49ca-bef7-50410d1157f3" :value
		  (:kind "end" :message "Publish Diagnostics")))
[server-request] (id:20) Tue Oct 24 10:20:27 2023:
(:jsonrpc "2.0" :id "20" :method "window/workDoneProgress/create" :params
	  (:token "3d84a11b-5605-4a40-8642-69e543ba8ecf"))
[client-reply] (id:20) Tue Oct 24 10:20:27 2023:
(:jsonrpc "2.0" :id "20" :result nil)
[server-notification] Tue Oct 24 10:20:27 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "3d84a11b-5605-4a40-8642-69e543ba8ecf" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:20:27 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "3d84a11b-5605-4a40-8642-69e543ba8ecf" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:27 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "3d84a11b-5605-4a40-8642-69e543ba8ecf" :value
		  (:kind "end" :message "Building")))
[client-request] (id:3) Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :id 3 :method "textDocument/formatting" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java")
	   :options
	   (:tabSize 8 :insertSpaces :json-false :insertFinalNewline t :trimFinalNewlines t)))
[server-reply] (id:3) Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :id 3 :result
	  [(:range
	    (:start
	     (:line 7 :character 26)
	     :end
	     (:line 8 :character 0))
	    :newText " ")
	   (:range
	    (:start
	     (:line 8 :character 1)
	     :end
	     (:line 9 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 9 :character 41)
	     :end
	     (:line 10 :character 3))
	    :newText " ")
	   (:range
	    (:start
	     (:line 10 :character 4)
	     :end
	     (:line 11 :character 6))
	    :newText "\n		")
	   (:range
	    (:start
	     (:line 11 :character 43)
	     :end
	     (:line 12 :character 6))
	    :newText " ")
	   (:range
	    (:start
	     (:line 12 :character 7)
	     :end
	     (:line 13 :character 9))
	    :newText "\n			")
	   (:range
	    (:start
	     (:line 13 :character 26)
	     :end
	     (:line 14 :character 9))
	    :newText " ")
	   (:range
	    (:start
	     (:line 14 :character 10)
	     :end
	     (:line 15 :character 12))
	    :newText "\n				")
	   (:range
	    (:start
	     (:line 15 :character 64)
	     :end
	     (:line 16 :character 12))
	    :newText "\n				")
	   (:range
	    (:start
	     (:line 16 :character 65)
	     :end
	     (:line 17 :character 12))
	    :newText "\n				")
	   (:range
	    (:start
	     (:line 17 :character 35)
	     :end
	     (:line 18 :character 9))
	    :newText "\n			")
	   (:range
	    (:start
	     (:line 18 :character 10)
	     :end
	     (:line 19 :character 6))
	    :newText "\n		")
	   (:range
	    (:start
	     (:line 19 :character 9)
	     :end
	     (:line 20 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 26 :character 39)
	     :end
	     (:line 27 :character 0))
	    :newText " ")
	   (:range
	    (:start
	     (:line 27 :character 1)
	     :end
	     (:line 28 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 28 :character 30)
	     :end
	     (:line 29 :character 3))
	    :newText " ")
	   (:range
	    (:start
	     (:line 29 :character 4)
	     :end
	     (:line 30 :character 6))
	    :newText "\n		")
	   (:range
	    (:start
	     (:line 30 :character 32)
	     :end
	     (:line 31 :character 6))
	    :newText "\n		")
	   (:range
	    (:start
	     (:line 31 :character 45)
	     :end
	     (:line 33 :character 6))
	    :newText "\n\n		")
	   (:range
	    (:start
	     (:line 33 :character 27)
	     :end
	     (:line 35 :character 6))
	    :newText "\n\n		")
	   (:range
	    (:start
	     (:line 35 :character 65)
	     :end
	     (:line 36 :character 6))
	    :newText "\n		")
	   (:range
	    (:start
	     (:line 36 :character 16)
	     :end
	     (:line 37 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 37 :character 4)
	     :end
	     (:line 39 :character 3))
	    :newText "\n\n	")
	   (:range
	    (:start
	     (:line 39 :character 47)
	     :end
	     (:line 40 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 46 :character 47)
	     :end
	     (:line 47 :character 0))
	    :newText " ")
	   (:range
	    (:start
	     (:line 47 :character 1)
	     :end
	     (:line 48 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 48 :character 41)
	     :end
	     (:line 49 :character 3))
	    :newText " ")
	   (:range
	    (:start
	     (:line 49 :character 4)
	     :end
	     (:line 50 :character 6))
	    :newText "\n		")
	   (:range
	    (:start
	     (:line 50 :character 71)
	     :end
	     (:line 51 :character 3))
	    :newText "\n	")
	   (:range
	    (:start
	     (:line 51 :character 4)
	     :end
	     (:line 53 :character 3))
	    :newText "\n\n	")
	   (:range
	    (:start
	     (:line 53 :character 42)
	     :end
	     (:line 54 :character 3))
	    :newText "\n	")])
[client-notification] Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/cay@cay-ThinkPad-X1-Yoga-Gen-7.2767335%3A1697944035" :type 1)]))
[server-request] (id:21) Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :id "21" :method "window/workDoneProgress/create" :params
	  (:token "a8dd62ea-e035-4fe3-900e-19e4b233acc3"))
[client-reply] (id:21) Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :id "21" :result nil)
[server-notification] Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a8dd62ea-e035-4fe3-900e-19e4b233acc3" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a8dd62ea-e035-4fe3-900e-19e4b233acc3" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:43 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "a8dd62ea-e035-4fe3-900e-19e4b233acc3" :value
		  (:kind "end" :message "Building")))
[internal] (id:4) Tue Oct 24 10:20:44 2023:
(:deferring :textDocument/signatureHelp :id 4 :params
	    (:textDocument
	     (:uri "file:///tmp/hello/NotHelloWorld.java")
	     :position
	     (:line 0 :character 0)))
[internal] (id:5) Tue Oct 24 10:20:44 2023:
(:deferring :textDocument/hover :id 5 :params
	    (:textDocument
	     (:uri "file:///tmp/hello/NotHelloWorld.java")
	     :position
	     (:line 0 :character 0)))
[internal] (id:6) Tue Oct 24 10:20:44 2023:
(:deferring :textDocument/documentHighlight :id 6 :params
	    (:textDocument
	     (:uri "file:///tmp/hello/NotHelloWorld.java")
	     :position
	     (:line 0 :character 0)))
[client-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java" :version 31)
	   :contentChanges
	   [(:range
	     (:start
	      (:line 53 :character 42)
	      :end
	      (:line 54 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 51 :character 4)
	      :end
	      (:line 53 :character 3))
	     :rangeLength 5 :text "\n\n	")
	    (:range
	     (:start
	      (:line 50 :character 71)
	      :end
	      (:line 51 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 49 :character 4)
	      :end
	      (:line 50 :character 6))
	     :rangeLength 7 :text "\n		")
	    (:range
	     (:start
	      (:line 48 :character 41)
	      :end
	      (:line 49 :character 3))
	     :rangeLength 4 :text " ")
	    (:range
	     (:start
	      (:line 47 :character 1)
	      :end
	      (:line 48 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 46 :character 47)
	      :end
	      (:line 47 :character 0))
	     :rangeLength 1 :text " ")
	    (:range
	     (:start
	      (:line 39 :character 47)
	      :end
	      (:line 40 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 37 :character 4)
	      :end
	      (:line 39 :character 3))
	     :rangeLength 5 :text "\n\n	")
	    (:range
	     (:start
	      (:line 36 :character 16)
	      :end
	      (:line 37 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 35 :character 65)
	      :end
	      (:line 36 :character 6))
	     :rangeLength 7 :text "\n		")
	    (:range
	     (:start
	      (:line 33 :character 27)
	      :end
	      (:line 35 :character 6))
	     :rangeLength 8 :text "\n\n		")
	    (:range
	     (:start
	      (:line 31 :character 45)
	      :end
	      (:line 33 :character 6))
	     :rangeLength 8 :text "\n\n		")
	    (:range
	     (:start
	      (:line 30 :character 32)
	      :end
	      (:line 31 :character 6))
	     :rangeLength 7 :text "\n		")
	    (:range
	     (:start
	      (:line 29 :character 4)
	      :end
	      (:line 30 :character 6))
	     :rangeLength 7 :text "\n		")
	    (:range
	     (:start
	      (:line 28 :character 30)
	      :end
	      (:line 29 :character 3))
	     :rangeLength 4 :text " ")
	    (:range
	     (:start
	      (:line 27 :character 1)
	      :end
	      (:line 28 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 26 :character 39)
	      :end
	      (:line 27 :character 0))
	     :rangeLength 1 :text " ")
	    (:range
	     (:start
	      (:line 19 :character 9)
	      :end
	      (:line 20 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 18 :character 10)
	      :end
	      (:line 19 :character 6))
	     :rangeLength 7 :text "\n		")
	    (:range
	     (:start
	      (:line 17 :character 35)
	      :end
	      (:line 18 :character 9))
	     :rangeLength 10 :text "\n			")
	    (:range
	     (:start
	      (:line 16 :character 65)
	      :end
	      (:line 17 :character 12))
	     :rangeLength 13 :text "\n				")
	    (:range
	     (:start
	      (:line 15 :character 64)
	      :end
	      (:line 16 :character 12))
	     :rangeLength 13 :text "\n				")
	    (:range
	     (:start
	      (:line 14 :character 10)
	      :end
	      (:line 15 :character 12))
	     :rangeLength 13 :text "\n				")
	    (:range
	     (:start
	      (:line 13 :character 26)
	      :end
	      (:line 14 :character 9))
	     :rangeLength 10 :text " ")
	    (:range
	     (:start
	      (:line 12 :character 7)
	      :end
	      (:line 13 :character 9))
	     :rangeLength 10 :text "\n			")
	    (:range
	     (:start
	      (:line 11 :character 43)
	      :end
	      (:line 12 :character 6))
	     :rangeLength 7 :text " ")
	    (:range
	     (:start
	      (:line 10 :character 4)
	      :end
	      (:line 11 :character 6))
	     :rangeLength 7 :text "\n		")
	    (:range
	     (:start
	      (:line 9 :character 41)
	      :end
	      (:line 10 :character 3))
	     :rangeLength 4 :text " ")
	    (:range
	     (:start
	      (:line 8 :character 1)
	      :end
	      (:line 9 :character 3))
	     :rangeLength 4 :text "\n	")
	    (:range
	     (:start
	      (:line 7 :character 26)
	      :end
	      (:line 8 :character 0))
	     :rangeLength 1 :text " ")]))
[internal] Tue Oct 24 10:20:44 2023:
(:maybe-run-deferred
 (6 5 4))
[client-request] (id:6) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 6 :method "textDocument/documentHighlight" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java")
	   :position
	   (:line 0 :character 0)))
[client-request] (id:5) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 5 :method "textDocument/hover" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java")
	   :position
	   (:line 0 :character 0)))
[client-request] (id:4) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 4 :method "textDocument/signatureHelp" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java")
	   :position
	   (:line 0 :character 0)))
[client-request] (id:7) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 7 :method "textDocument/inlayHint" :params
	  (:textDocument
	   (:uri "file:///tmp/hello/NotHelloWorld.java")
	   :range
	   (:start
	    (:line 7 :character 0)
	    :end
	    (:line 48 :character 0))))
[server-reply] (id:5) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 5 :result
	  (:contents ""))
[server-reply] (id:4) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 4 :result
	  (:signatures
	   []))
[server-reply] (id:6) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 6 :result
	  [])
[server-request] (id:22) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id "22" :method "window/workDoneProgress/create" :params
	  (:token "fc46ec2e-840e-40d4-9e0a-e124c74df275"))
[client-reply] (id:22) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id "22" :result nil)
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "fc46ec2e-840e-40d4-9e0a-e124c74df275" :value
		  (:kind "begin" :title "Validate documents" :message "Validate documents")))
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "fc46ec2e-840e-40d4-9e0a-e124c74df275" :value
		  (:kind "report" :message "Validate documents - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "fc46ec2e-840e-40d4-9e0a-e124c74df275" :value
		  (:kind "end" :message "Validate documents")))
[server-reply] (id:7) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id 7 :result
	  [(:position
	    (:line 13 :character 21)
	    :label "b:")
	   (:position
	    (:line 24 :character 11)
	    :label "title:")
	   (:position
	    (:line 42 :character 15)
	    :label "str:")])
[server-request] (id:23) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id "23" :method "window/workDoneProgress/create" :params
	  (:token "73a6f8e1-441d-4afd-b3d2-7ca00e17fc1b"))
[client-reply] (id:23) Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :id "23" :result nil)
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "73a6f8e1-441d-4afd-b3d2-7ca00e17fc1b" :value
		  (:kind "begin" :title "Publish Diagnostics" :message "Publish Diagnostics")))
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "73a6f8e1-441d-4afd-b3d2-7ca00e17fc1b" :value
		  (:kind "report" :message "Publish Diagnostics - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/hello/NotHelloWorld.java" :diagnostics
		[]))
[server-notification] Tue Oct 24 10:20:44 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "73a6f8e1-441d-4afd-b3d2-7ca00e17fc1b" :value
		  (:kind "end" :message "Publish Diagnostics")))
[internal] (id:4) Tue Oct 24 10:20:54 2023:
(:timed-out :textDocument/signatureHelp :id 4 :params
	    (:textDocument
	     (:uri "file:///tmp/hello/NotHelloWorld.java")
	     :position
	     (:line 0 :character 0)))
[internal] (id:5) Tue Oct 24 10:20:54 2023:
(:timed-out :textDocument/hover :id 5 :params
	    (:textDocument
	     (:uri "file:///tmp/hello/NotHelloWorld.java")
	     :position
	     (:line 0 :character 0)))
[internal] (id:6) Tue Oct 24 10:20:54 2023:
(:timed-out :textDocument/documentHighlight :id 6 :params
	    (:textDocument
	     (:uri "file:///tmp/hello/NotHelloWorld.java")
	     :position
	     (:line 0 :character 0)))
[server-request] (id:24) Tue Oct 24 10:25:24 2023:
(:jsonrpc "2.0" :id "24" :method "window/workDoneProgress/create" :params
	  (:token "fd7494ca-aa5e-4e0f-8f60-372a18490999"))
[client-reply] (id:24) Tue Oct 24 10:25:24 2023:
(:jsonrpc "2.0" :id "24" :result nil)
[server-notification] Tue Oct 24 10:25:24 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "fd7494ca-aa5e-4e0f-8f60-372a18490999" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:25:24 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "fd7494ca-aa5e-4e0f-8f60-372a18490999" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:25:24 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "fd7494ca-aa5e-4e0f-8f60-372a18490999" :value
		  (:kind "end" :message "Building")))
[client-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23NotHelloWorld.java%23" :type 1)]))
[client-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23NotHelloWorld.java%23" :type 2)]))
[server-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:25) Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :id "25" :method "window/workDoneProgress/create" :params
	  (:token "7a1a3fc8-c844-441a-b8c6-8ea8295df4fd"))
[client-reply] (id:25) Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :id "25" :result nil)
[server-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7a1a3fc8-c844-441a-b8c6-8ea8295df4fd" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7a1a3fc8-c844-441a-b8c6-8ea8295df4fd" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "7a1a3fc8-c844-441a-b8c6-8ea8295df4fd" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:26:01 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/.%23eglot-events.txt" :type 1)]))
[client-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/eglot-events.txt" :type 1)]))
[client-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/eglot-events.txt" :type 2)]))
[client-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/cay@cay-ThinkPad-X1-Yoga-Gen-7.2767335%3A1697944035" :type 3)]))
[server-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/cay@cay-ThinkPad-X1-Yoga-Gen-7.2767335%3A1697944035" :type 1)]))
[server-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/hello/cay@cay-ThinkPad-X1-Yoga-Gen-7.2767335%3A1697944035" :diagnostics
		[]))
[server-request] (id:26) Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :id "26" :method "window/workDoneProgress/create" :params
	  (:token "4fb94b29-3bb2-4ad5-8656-75655a024b22"))
[client-reply] (id:26) Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :id "26" :result nil)
[server-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4fb94b29-3bb2-4ad5-8656-75655a024b22" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4fb94b29-3bb2-4ad5-8656-75655a024b22" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4fb94b29-3bb2-4ad5-8656-75655a024b22" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:26:23 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 1)]))
[client-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:27) Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :id "27" :method "window/workDoneProgress/create" :params
	  (:token "24e15f81-ed8a-4c89-bce2-7bbd4f673fba"))
[client-reply] (id:27) Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :id "27" :result nil)
[server-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "24e15f81-ed8a-4c89-bce2-7bbd4f673fba" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "24e15f81-ed8a-4c89-bce2-7bbd4f673fba" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "24e15f81-ed8a-4c89-bce2-7bbd4f673fba" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:27:34 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:28) Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :id "28" :method "window/workDoneProgress/create" :params
	  (:token "5a5df708-e88b-404f-b678-a92c11219fd5"))
[client-reply] (id:28) Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :id "28" :result nil)
[server-notification] Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "5a5df708-e88b-404f-b678-a92c11219fd5" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "5a5df708-e88b-404f-b678-a92c11219fd5" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "5a5df708-e88b-404f-b678-a92c11219fd5" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:29:29 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:29) Tue Oct 24 10:31:01 2023:
(:jsonrpc "2.0" :id "29" :method "window/workDoneProgress/create" :params
	  (:token "70f01f9b-0b57-4e7c-ab74-7f16a2b5c8bc"))
[client-reply] (id:29) Tue Oct 24 10:31:01 2023:
(:jsonrpc "2.0" :id "29" :result nil)
[server-notification] Tue Oct 24 10:31:01 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "70f01f9b-0b57-4e7c-ab74-7f16a2b5c8bc" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:31:01 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "70f01f9b-0b57-4e7c-ab74-7f16a2b5c8bc" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:31:01 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "70f01f9b-0b57-4e7c-ab74-7f16a2b5c8bc" :value
		  (:kind "end" :message "Building")))
[client-notification] Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:30) Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :id "30" :method "window/workDoneProgress/create" :params
	  (:token "0a0f9be3-48b6-4b93-86f2-2c013377b9ce"))
[client-reply] (id:30) Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :id "30" :result nil)
[server-notification] Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "0a0f9be3-48b6-4b93-86f2-2c013377b9ce" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "0a0f9be3-48b6-4b93-86f2-2c013377b9ce" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "0a0f9be3-48b6-4b93-86f2-2c013377b9ce" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:33:21 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:31) Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :id "31" :method "window/workDoneProgress/create" :params
	  (:token "4252bd49-8271-4f65-adf4-daecca55ba81"))
[client-reply] (id:31) Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :id "31" :result nil)
[server-notification] Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4252bd49-8271-4f65-adf4-daecca55ba81" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4252bd49-8271-4f65-adf4-daecca55ba81" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4252bd49-8271-4f65-adf4-daecca55ba81" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:35:02 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:32) Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :id "32" :method "window/workDoneProgress/create" :params
	  (:token "dd438fa9-2cb0-45f5-9a26-0c8730a03db4"))
[client-reply] (id:32) Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :id "32" :result nil)
[server-notification] Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "dd438fa9-2cb0-45f5-9a26-0c8730a03db4" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "dd438fa9-2cb0-45f5-9a26-0c8730a03db4" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "dd438fa9-2cb0-45f5-9a26-0c8730a03db4" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:36:50 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:33) Tue Oct 24 10:38:21 2023:
(:jsonrpc "2.0" :id "33" :method "window/workDoneProgress/create" :params
	  (:token "39c579b1-373d-485b-bf2b-1f4383dcf6ba"))
[client-reply] (id:33) Tue Oct 24 10:38:21 2023:
(:jsonrpc "2.0" :id "33" :result nil)
[server-notification] Tue Oct 24 10:38:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "39c579b1-373d-485b-bf2b-1f4383dcf6ba" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:38:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "39c579b1-373d-485b-bf2b-1f4383dcf6ba" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:38:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "39c579b1-373d-485b-bf2b-1f4383dcf6ba" :value
		  (:kind "end" :message "Building")))
[client-notification] Tue Oct 24 10:38:44 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:38:44 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:34) Tue Oct 24 10:38:45 2023:
(:jsonrpc "2.0" :id "34" :method "window/workDoneProgress/create" :params
	  (:token "4837b406-665c-446c-aa68-cdb44aa382c2"))
[client-reply] (id:34) Tue Oct 24 10:38:45 2023:
(:jsonrpc "2.0" :id "34" :result nil)
[server-notification] Tue Oct 24 10:38:45 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4837b406-665c-446c-aa68-cdb44aa382c2" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:38:45 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4837b406-665c-446c-aa68-cdb44aa382c2" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:38:45 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "4837b406-665c-446c-aa68-cdb44aa382c2" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:38:45 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[client-notification] Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///tmp/hello/%23eglot-events.txt%23" :type 2)]))
[server-notification] Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))
[server-request] (id:35) Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :id "35" :method "window/workDoneProgress/create" :params
	  (:token "78bcba8a-ac68-41c4-8a23-671d3e299813"))
[client-reply] (id:35) Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :id "35" :result nil)
[server-notification] Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "78bcba8a-ac68-41c4-8a23-671d3e299813" :value
		  (:kind "begin" :title "Building" :message "Building")))
[server-notification] Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "78bcba8a-ac68-41c4-8a23-671d3e299813" :value
		  (:kind "report" :message "Building - 0% " :percentage 0)))
[server-notification] Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "78bcba8a-ac68-41c4-8a23-671d3e299813" :value
		  (:kind "end" :message "Building")))
[server-notification] Tue Oct 24 10:39:46 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///tmp/jdtls-aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d/hello_be34f68b" :diagnostics
		[]))

[-- Attachment #7: lsp-log.txt --]
[-- Type: text/plain, Size: 98049 bytes --]

[Trace - 11:02:01 ] Sending request 'initialize - (1)'.
Params: {
  "processId": 2860077,
  "rootPath": "/tmp/hello2",
  "clientInfo": {
    "name": "emacs",
    "version": "GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0)\n of 2023-08-15"
  },
  "rootUri": "file:///tmp/hello2",
  "capabilities": {
    "general": {
      "positionEncodings": [
        "utf-32",
        "utf-16"
      ]
    },
    "workspace": {
      "workspaceEdit": {
        "documentChanges": true,
        "resourceOperations": [
          "create",
          "rename",
          "delete"
        ]
      },
      "applyEdit": true,
      "symbol": {
        "symbolKind": {
          "valueSet": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        }
      },
      "executeCommand": {
        "dynamicRegistration": false
      },
      "didChangeWatchedFiles": {
        "dynamicRegistration": true
      },
      "workspaceFolders": true,
      "configuration": true,
      "codeLens": {
        "refreshSupport": true
      },
      "fileOperations": {
        "didCreate": false,
        "willCreate": false,
        "didRename": true,
        "willRename": true,
        "didDelete": false,
        "willDelete": false
      }
    },
    "textDocument": {
      "declaration": {
        "dynamicRegistration": true,
        "linkSupport": true
      },
      "definition": {
        "dynamicRegistration": true,
        "linkSupport": true
      },
      "references": {
        "dynamicRegistration": true
      },
      "implementation": {
        "dynamicRegistration": true,
        "linkSupport": true
      },
      "typeDefinition": {
        "dynamicRegistration": true,
        "linkSupport": true
      },
      "synchronization": {
        "willSave": true,
        "didSave": true,
        "willSaveWaitUntil": true
      },
      "documentSymbol": {
        "symbolKind": {
          "valueSet": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        },
        "hierarchicalDocumentSymbolSupport": true
      },
      "formatting": {
        "dynamicRegistration": true
      },
      "rangeFormatting": {
        "dynamicRegistration": true
      },
      "onTypeFormatting": {
        "dynamicRegistration": true
      },
      "rename": {
        "dynamicRegistration": true,
        "prepareSupport": true
      },
      "codeAction": {
        "dynamicRegistration": true,
        "isPreferredSupport": true,
        "codeActionLiteralSupport": {
          "codeActionKind": {
            "valueSet": [
              "",
              "quickfix",
              "refactor",
              "refactor.extract",
              "refactor.inline",
              "refactor.rewrite",
              "source",
              "source.organizeImports"
            ]
          }
        },
        "resolveSupport": {
          "properties": [
            "edit",
            "command"
          ]
        },
        "dataSupport": true
      },
      "completion": {
        "completionItem": {
          "snippetSupport": true,
          "documentationFormat": [
            "markdown",
            "plaintext"
          ],
          "resolveAdditionalTextEditsSupport": true,
          "insertReplaceSupport": true,
          "deprecatedSupport": true,
          "resolveSupport": {
            "properties": [
              "documentation",
              "detail",
              "additionalTextEdits",
              "command"
            ]
          },
          "insertTextModeSupport": {
            "valueSet": [
              1,
              2
            ]
          }
        },
        "contextSupport": true,
        "dynamicRegistration": true
      },
      "signatureHelp": {
        "signatureInformation": {
          "parameterInformation": {
            "labelOffsetSupport": true
          }
        },
        "dynamicRegistration": true
      },
      "documentLink": {
        "dynamicRegistration": true,
        "tooltipSupport": true
      },
      "hover": {
        "contentFormat": [
          "markdown",
          "plaintext"
        ],
        "dynamicRegistration": true
      },
      "foldingRange": {
        "dynamicRegistration": true
      },
      "selectionRange": {
        "dynamicRegistration": true
      },
      "callHierarchy": {
        "dynamicRegistration": false
      },
      "typeHierarchy": {
        "dynamicRegistration": true
      },
      "publishDiagnostics": {
        "relatedInformation": true,
        "tagSupport": {
          "valueSet": [
            1,
            2
          ]
        },
        "versionSupport": true
      },
      "linkedEditingRange": {
        "dynamicRegistration": true
      }
    },
    "window": {
      "workDoneProgress": true,
      "showDocument": {
        "support": true
      }
    }
  },
  "initializationOptions": {
    "settings": {
      "java": {
        "errors": {
          "incompleteClasspath": {
            "severity": "warning"
          }
        },
        "dependency": {
          "packagePresentation": "flat"
        },
        "configuration": {
          "checkProjectSettingsExclusions": true,
          "updateBuildConfiguration": "automatic",
          "maven": {
            "notCoveredPluginExecutionSeverity": "warning",
            "defaultMojoExecutionAction": "ignore"
          },
          "workspaceCacheLimit": 90
        },
        "trace": {
          "server": "off"
        },
        "import": {
          "gradle": {
            "enabled": true,
            "wrapper": {
              "enabled": true
            },
            "offline": {
              "enabled": false
            },
            "annotationProcessing": {
              "enabled": true
            }
          },
          "maven": {
            "enabled": true,
            "offline": {
              "enabled": false
            },
            "disableTestClasspathFlag": false
          },
          "exclusions": [
            "**/node_modules/**",
            "**/.metadata/**",
            "**/archetype-resources/**",
            "**/META-INF/maven/**"
          ],
          "generatesMetadataFilesAtProjectRoot": false
        },
        "maven": {
          "downloadSources": false,
          "updateSnapshots": false
        },
        "referencesCodeLens": {
          "enabled": false
        },
        "signatureHelp": {
          "enabled": true,
          "description": {
            "enabled": false
          }
        },
        "implementationsCodeLens": {
          "enabled": false
        },
        "format": {
          "enabled": true,
          "settings": {
            "url": "/home/cay/bin/cay-eclipse.formatter.xml",
            "profile": "cay"
          },
          "comments": {
            "enabled": true
          },
          "onType": {
            "enabled": true
          },
          "tabSize": 3,
          "insertSpaces": true
        },
        "saveActions": {
          "organizeImports": false
        },
        "project": {
          "resourceFilters": [
            "node_modules",
            ".metadata",
            "archetype-resources",
            "META-INF/maven"
          ],
          "referencedLibraries": [
            "lib/**/*.jar"
          ],
          "importOnFirstTimeStartup": "automatic",
          "importHint": true,
          "outputPath": "",
          "encoding": "ignore"
        },
        "autobuild": {
          "enabled": true
        },
        "selectionRange": {
          "enabled": true
        },
        "maxConcurrentBuilds": 1,
        "completion": {
          "enabled": true,
          "overwrite": true,
          "guessMethodArguments": true,
          "favoriteStaticMembers": [
            "org.junit.Assert.*",
            "org.junit.Assume.*",
            "org.junit.jupiter.api.Assertions.*",
            "org.junit.jupiter.api.Assumptions.*",
            "org.junit.jupiter.api.DynamicContainer.*",
            "org.junit.jupiter.api.DynamicTest.*",
            "org.mockito.Mockito.*",
            "org.mockito.ArgumentMatchers.*",
            "org.mockito.Answers.*"
          ],
          "importOrder": [
            "java",
            "javax",
            "com",
            "org"
          ],
          "filteredTypes": [
            "java.awt.*",
            "com.sun.*"
          ],
          "maxResults": 0,
          "postfix": {
            "enabled": true
          },
          "matchCase": "auto",
          "lazyResolveTextEdit": {
            "enabled": false
          }
        },
        "foldingRange": {
          "enabled": true
        },
        "progressReports": {
          "enabled": true
        },
        "codeGeneration": {
          "hashCodeEquals": {
            "useJava7Objects": false,
            "useInstanceof": false
          },
          "useBlocks": false,
          "generateComments": false,
          "toString": {
            "template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]",
            "codeStyle": "STRING_CONCATENATION",
            "skipNullValues": false,
            "listArrayContents": true,
            "limitElements": 0
          },
          "insertionLocation": "afterCursor"
        },
        "showBuildStatusOnStart": {
          "enabled": false
        },
        "server": {
          "launchMode": "Hybrid"
        },
        "sources": {
          "organizeImports": {
            "starThreshold": 99,
            "staticStarThreshold": 99
          }
        },
        "imports": {
          "gradle": {
            "wrapper": {
              "checksums": []
            }
          }
        },
        "eclipse": {
          "downloadSources": false
        },
        "recommendations": {
          "dependency": {
            "analytics": {
              "show": true
            }
          }
        },
        "references": {
          "includeAccessors": true,
          "includeDecompiledSources": true
        },
        "typeHierarchy": {
          "lazyLoad": false
        },
        "symbols": {
          "includeSourceMethodDeclarations": false
        },
        "quickfix": {
          "showAt": "line"
        },
        "inlayHints": {
          "parameterNames": {
            "enabled": "literals"
          }
        },
        "jdt": {
          "ls": {
            "lombokSupport": {
              "enabled": true
            },
            "protobufSupport": {
              "enabled": true
            },
            "androidSupport": {
              "enabled": "auto"
            }
          }
        },
        "codeAction": {
          "sortMembers": {
            "avoidVolatileChanges": true
          }
        },
        "compile": {
          "nullAnalysis": {
            "nonnull": [
              "javax.annotation.Nonnull",
              "org.eclipse.jdt.annotation.NonNull",
              "org.springframework.lang.NonNull"
            ],
            "nullable": [
              "javax.annotation.Nullable",
              "org.eclipse.jdt.annotation.Nullable",
              "org.springframework.lang.Nullable"
            ],
            "mode": "interactive"
          }
        },
        "sharedIndexes": {
          "enabled": "auto",
          "location": ""
        },
        "refactoring": {
          "extract": {
            "interface": {
              "replace": true
            }
          }
        }
      }
    },
    "extendedClientCapabilities": {
      "progressReportProvider": true,
      "classFileContentsSupport": true,
      "classFileContentsSupport": true,
      "overrideMethodsPromptSupport": true,
      "hashCodeEqualsPromptSupport": true,
      "advancedOrganizeImportsSupport": true,
      "generateConstructorsPromptSupport": true,
      "generateToStringPromptSupport": true,
      "advancedGenerateAccessorsSupport": true,
      "advancedExtractRefactoringSupport": true,
      "moveRefactoringSupport": true,
      "resolveAdditionalTextEditsSupport": true
    },
    "bundles": [
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/com.microsoft.java.test.plugin-0.28.0.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/com.microsoft.jdtls.ext.core-0.5.1.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/dg.jdt.ls.decompiler.cfr-0.0.2-201802221740.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/dg.jdt.ls.decompiler.common-0.0.2-201802221740.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/dg.jdt.ls.decompiler.fernflower-0.0.2-201802221740.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/dg.jdt.ls.decompiler.procyon-0.0.2-201802221740.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/io.projectreactor.reactor-core.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/java.debug.plugin.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/jdt-ls-commons.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/jdt-ls-extension.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.apiguardian_1.1.0.v20190826-0900.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.eclipse.jdt.junit4.runtime_1.1.1200.v20200214-0716.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.eclipse.jdt.junit5.runtime_1.0.900.v20200513-0617.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.jupiter.api_5.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.jupiter.engine_5.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.jupiter.migrationsupport_5.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.jupiter.params_5.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.platform.commons_1.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.platform.engine_1.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.platform.launcher_1.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.platform.runner_1.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.platform.suite.api_1.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.junit.vintage.engine_5.6.0.v20200203-2009.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.opentest4j_1.2.0.v20190826-0900.jar",
      "/home/cay/.emacs.d/.cache/lsp/eclipse.jdt.ls/bundles/org.reactivestreams.reactive-streams.jar"
    ],
    "workspaceFolders": [
      "file:///tmp/hello2",
      "file:///tmp/hello"
    ]
  },
  "workDoneToken": "1",
  "workspaceFolders": [
    {
      "uri": "file:///tmp/hello2",
      "name": "hello2"
    },
    {
      "uri": "file:///tmp/hello",
      "name": "hello"
    }
  ]
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Main thread is waiting"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM >> initialize"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Initializing Java Language Server 1.29.0.202310230829"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Started org.eclipse.m2e.core 0ms"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM ProjectRegistryRefreshJob finished 490ms"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Started org.eclipse.buildship.core 20ms"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [java.project.import, java.navigate.openTypeHierarchy, java.project.resolveStackTraceLocation, java.edit.handlePasteEvent, java.edit.stringFormatting, java.project.getSettings, java.project.resolveWorkspaceSymbol, java.project.upgradeGradle, java.project.createModuleInfo, java.edit.organizeImports, java.project.refreshDiagnostics, java.project.removeFromSourcePath, java.project.listSourcePaths, java.project.getAll, java.reloadBundles, java.project.isTestFile, java.project.getClasspaths, java.navigate.resolveTypeHierarchy, java.edit.smartSemicolonDetection, java.project.updateSourceAttachment, java.decompile, java.protobuf.generateSources, java.project.resolveSourceAttachment, java.project.addToSourcePath, java.completion.onDidSelect]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [vscode.java.test.search.codelens, vscode.java.test.search.items.all, vscode.java.test.search.location, vscode.java.test.search.items, vscode.java.test.get.testpath, vscode.java.test.junit.argument]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [java.project.list, java.getPackageData, java.resolvePath]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [vscode.java.checkProjectSettings, vscode.java.isOnClasspath, vscode.java.fetchUsageData, vscode.java.validateLaunchConfig, vscode.java.resolveInlineVariables, vscode.java.resolveClassFilters, vscode.java.resolveMainMethod, vscode.java.resolveClasspath, vscode.java.resolveBuildFiles, vscode.java.resolveMainClass, vscode.java.updateDebugSettings, vscode.java.resolveSourceUri, vscode.java.fetchPlatformSettings, vscode.java.buildWorkspace, vscode.java.startDebugSession, vscode.java.inferLaunchCommandLength, vscode.java.resolveElementAtSelection, vscode.java.resolveJavaExecutable]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.addClasspathListener, sts.java.removeClasspathListener]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.javadoc]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.type]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.javadocHoverLink]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.location]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.search.packages, sts.java.search.types]"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Static Commands: []"
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM Non-Static Commands: [sts.java.hierarchy.supertypes, sts.java.hierarchy.subtypes]"
}


[Trace - 11:02:03 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "Init..."
}


[Trace - 11:02:03 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "0% Starting Java Language Server"
}


[Trace - 11:02:03 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Initialize Workspace",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:03 ] Received response 'initialize - (1)' in 1933ms.
Result: {
  "capabilities": {
    "textDocumentSync": {
      "openClose": true,
      "change": 2,
      "willSave": true,
      "willSaveWaitUntil": true,
      "save": {
        "includeText": true
      }
    },
    "documentHighlightProvider": true,
    "documentSymbolProvider": true,
    "workspaceSymbolProvider": true,
    "codeLensProvider": {
      "resolveProvider": true
    },
    "executeCommandProvider": {
      "commands": [
        "vscode.java.checkProjectSettings",
        "vscode.java.isOnClasspath",
        "java.project.list",
        "vscode.java.fetchUsageData",
        "java.navigate.openTypeHierarchy",
        "vscode.java.test.search.items.all",
        "java.edit.handlePasteEvent",
        "sts.java.hierarchy.supertypes",
        "java.edit.stringFormatting",
        "sts.java.hierarchy.subtypes",
        "vscode.java.resolveMainClass",
        "vscode.java.test.search.location",
        "vscode.java.buildWorkspace",
        "vscode.java.resolveJavaExecutable",
        "sts.java.type",
        "java.project.refreshDiagnostics",
        "vscode.java.resolveInlineVariables",
        "java.project.listSourcePaths",
        "sts.java.search.packages",
        "java.project.getClasspaths",
        "java.project.updateSourceAttachment",
        "vscode.java.resolveClasspath",
        "vscode.java.resolveBuildFiles",
        "java.decompile",
        "vscode.java.resolveSourceUri",
        "vscode.java.test.search.items",
        "vscode.java.fetchPlatformSettings",
        "java.project.resolveSourceAttachment",
        "sts.java.removeClasspathListener",
        "java.project.addToSourcePath",
        "java.completion.onDidSelect",
        "vscode.java.startDebugSession",
        "java.project.import",
        "vscode.java.validateLaunchConfig",
        "java.project.resolveStackTraceLocation",
        "vscode.java.test.junit.argument",
        "vscode.java.resolveMainMethod",
        "java.project.getSettings",
        "java.project.resolveWorkspaceSymbol",
        "sts.java.addClasspathListener",
        "java.project.upgradeGradle",
        "java.project.createModuleInfo",
        "vscode.java.test.get.testpath",
        "java.resolvePath",
        "sts.java.javadoc",
        "vscode.java.resolveElementAtSelection",
        "vscode.java.test.search.codelens",
        "java.edit.organizeImports",
        "java.project.removeFromSourcePath",
        "sts.java.javadocHoverLink",
        "java.project.getAll",
        "java.reloadBundles",
        "java.project.isTestFile",
        "sts.java.search.types",
        "vscode.java.resolveClassFilters",
        "java.getPackageData",
        "java.navigate.resolveTypeHierarchy",
        "java.edit.smartSemicolonDetection",
        "vscode.java.updateDebugSettings",
        "sts.java.location",
        "java.protobuf.generateSources",
        "vscode.java.inferLaunchCommandLength"
      ]
    },
    "workspace": {
      "workspaceFolders": {
        "supported": true,
        "changeNotifications": true
      }
    },
    "callHierarchyProvider": true,
    "semanticTokensProvider": {
      "legend": {
        "tokenTypes": [
          "namespace",
          "class",
          "interface",
          "enum",
          "enumMember",
          "type",
          "typeParameter",
          "method",
          "property",
          "variable",
          "parameter",
          "modifier",
          "keyword",
          "annotation",
          "annotationMember",
          "record",
          "recordComponent"
        ],
        "tokenModifiers": [
          "abstract",
          "static",
          "readonly",
          "deprecated",
          "declaration",
          "documentation",
          "public",
          "private",
          "protected",
          "native",
          "generic",
          "typeArgument",
          "importDeclaration",
          "constructor"
        ]
      },
      "range": null,
      "full": {
        "delta": null
      },
      "documentSelector": [
        {
          "language": "java",
          "scheme": "file"
        },
        {
          "language": "java",
          "scheme": "jdt"
        }
      ]
    },
    "inlayHintProvider": true
  }
}


[Trace - 11:02:03 ] Sending notification 'initialized'.
Params: {}


[Trace - 11:02:03 ] Sending notification 'workspace/didChangeConfiguration'.
Params: {
  "settings": {
    "java": {
      "errors": {
        "incompleteClasspath": {
          "severity": "warning"
        }
      },
      "dependency": {
        "packagePresentation": "flat"
      },
      "configuration": {
        "checkProjectSettingsExclusions": true,
        "updateBuildConfiguration": "automatic",
        "maven": {
          "notCoveredPluginExecutionSeverity": "warning",
          "defaultMojoExecutionAction": "ignore"
        },
        "workspaceCacheLimit": 90
      },
      "trace": {
        "server": "off"
      },
      "import": {
        "gradle": {
          "enabled": true,
          "wrapper": {
            "enabled": true
          },
          "offline": {
            "enabled": false
          },
          "annotationProcessing": {
            "enabled": true
          }
        },
        "maven": {
          "enabled": true,
          "offline": {
            "enabled": false
          },
          "disableTestClasspathFlag": false
        },
        "exclusions": [
          "**/node_modules/**",
          "**/.metadata/**",
          "**/archetype-resources/**",
          "**/META-INF/maven/**"
        ],
        "generatesMetadataFilesAtProjectRoot": false
      },
      "maven": {
        "downloadSources": false,
        "updateSnapshots": false
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "signatureHelp": {
        "enabled": true,
        "description": {
          "enabled": false
        }
      },
      "implementationsCodeLens": {
        "enabled": false
      },
      "format": {
        "enabled": true,
        "settings": {
          "url": "/home/cay/bin/cay-eclipse.formatter.xml",
          "profile": "cay"
        },
        "comments": {
          "enabled": true
        },
        "onType": {
          "enabled": true
        },
        "tabSize": 3,
        "insertSpaces": true
      },
      "saveActions": {
        "organizeImports": false
      },
      "project": {
        "resourceFilters": [
          "node_modules",
          ".metadata",
          "archetype-resources",
          "META-INF/maven"
        ],
        "referencedLibraries": [
          "lib/**/*.jar"
        ],
        "importOnFirstTimeStartup": "automatic",
        "importHint": true,
        "outputPath": "",
        "encoding": "ignore"
      },
      "autobuild": {
        "enabled": true
      },
      "selectionRange": {
        "enabled": true
      },
      "maxConcurrentBuilds": 1,
      "completion": {
        "enabled": true,
        "overwrite": true,
        "guessMethodArguments": true,
        "favoriteStaticMembers": [
          "org.junit.Assert.*",
          "org.junit.Assume.*",
          "org.junit.jupiter.api.Assertions.*",
          "org.junit.jupiter.api.Assumptions.*",
          "org.junit.jupiter.api.DynamicContainer.*",
          "org.junit.jupiter.api.DynamicTest.*",
          "org.mockito.Mockito.*",
          "org.mockito.ArgumentMatchers.*",
          "org.mockito.Answers.*"
        ],
        "importOrder": [
          "java",
          "javax",
          "com",
          "org"
        ],
        "filteredTypes": [
          "java.awt.*",
          "com.sun.*"
        ],
        "maxResults": 0,
        "postfix": {
          "enabled": true
        },
        "matchCase": "auto",
        "lazyResolveTextEdit": {
          "enabled": false
        }
      },
      "foldingRange": {
        "enabled": true
      },
      "progressReports": {
        "enabled": true
      },
      "codeGeneration": {
        "hashCodeEquals": {
          "useJava7Objects": false,
          "useInstanceof": false
        },
        "useBlocks": false,
        "generateComments": false,
        "toString": {
          "template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]",
          "codeStyle": "STRING_CONCATENATION",
          "skipNullValues": false,
          "listArrayContents": true,
          "limitElements": 0
        },
        "insertionLocation": "afterCursor"
      },
      "showBuildStatusOnStart": {
        "enabled": false
      },
      "server": {
        "launchMode": "Hybrid"
      },
      "sources": {
        "organizeImports": {
          "starThreshold": 99,
          "staticStarThreshold": 99
        }
      },
      "imports": {
        "gradle": {
          "wrapper": {
            "checksums": []
          }
        }
      },
      "eclipse": {
        "downloadSources": false
      },
      "recommendations": {
        "dependency": {
          "analytics": {
            "show": true
          }
        }
      },
      "references": {
        "includeAccessors": true,
        "includeDecompiledSources": true
      },
      "typeHierarchy": {
        "lazyLoad": false
      },
      "symbols": {
        "includeSourceMethodDeclarations": false
      },
      "quickfix": {
        "showAt": "line"
      },
      "inlayHints": {
        "parameterNames": {
          "enabled": "literals"
        }
      },
      "jdt": {
        "ls": {
          "lombokSupport": {
            "enabled": true
          },
          "protobufSupport": {
            "enabled": true
          },
          "androidSupport": {
            "enabled": "auto"
          }
        }
      },
      "codeAction": {
        "sortMembers": {
          "avoidVolatileChanges": true
        }
      },
      "compile": {
        "nullAnalysis": {
          "nonnull": [
            "javax.annotation.Nonnull",
            "org.eclipse.jdt.annotation.NonNull",
            "org.springframework.lang.NonNull"
          ],
          "nullable": [
            "javax.annotation.Nullable",
            "org.eclipse.jdt.annotation.Nullable",
            "org.springframework.lang.Nullable"
          ],
          "mode": "interactive"
        }
      },
      "sharedIndexes": {
        "enabled": "auto",
        "location": ""
      },
      "refactoring": {
        "extract": {
          "interface": {
            "replace": true
          }
        }
      }
    }
  }
}


[Trace - 11:02:03 ] Sending notification 'textDocument/didOpen'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "languageId": "java",
    "version": 0,
    "text": "import javax.swing.*;\nimport java.awt.*;\n\n/**\n * @version 1.32 2007-06-12\n * @author Cay Horstmann\n */\npublic class NotHelloWorld\n{\n   public static void main(String[] args)\n   {\n      EventQueue.invokeLater(new Runnable()\n         {\n            public void run()\n            {\n               NotHelloWorldFrame frame = new NotHelloWorldFrame();\n               frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n               frame.setVisible(true);\n            }\n         });\n   }\n}\n\n/**\n * A frame that contains a message panel\n */\nclass NotHelloWorldFrame extends JFrame\n{\n   public NotHelloWorldFrame()\n   {\n      setTitle(\"NotHelloWorld\");\n      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);\n\n      // add panel to frame\n\n      NotHelloWorldComponent comp = new NotHelloWorldComponent();\n      add(comp);\n   }\n\n   public static final int DEFAULT_WIDTH = 300;\n   public static final int DEFAULT_HEIGHT = 200;\n}\n\n/**\n * A component that displays a message.\n */\nclass NotHelloWorldComponent extends JComponent\n{\n   public void paintComponent(Graphics g)\n   {\n      g.drawString(\"Not a Hello, World program\", MESSAGE_X, MESSAGE_Y);\n   }\n\n   public static final int MESSAGE_X = 75;\n   public static final int MESSAGE_Y = 100;\n}\n"
  }
}


[Trace - 11:02:03 ] Sending request 'textDocument/codeLens - (5)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:03 ] Received notification 'language/progressReport'.
Params: {
  "id": "cd6937e7-32d1-45d3-a234-dd6ae01a1035",
  "task": "Repository registry initialization",
  "status": "",
  "totalWork": 0,
  "workDone": 0,
  "complete": true
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM RepositoryRegistryUpdateJob finished 42ms"
}


[Trace - 11:02:03 ] Received notification 'language/progressReport'.
Params: {
  "id": "5c27937c-5d56-42da-ad37-5900a0e633b0",
  "task": "Look up for installed JVMs",
  "status": "",
  "totalWork": 0,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:03 ] Received notification 'language/progressReport'.
Params: {
  "id": "5c27937c-5d56-42da-ad37-5900a0e633b0",
  "task": "Look up for installed JVMs",
  "status": "",
  "totalWork": 0,
  "workDone": 0,
  "complete": true
}


[Trace - 11:02:03 ] Sending request 'textDocument/documentHighlight - (6)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "position": {
    "line": 0,
    "character": 0
  }
}


[Trace - 11:02:03 ] Sending request 'textDocument/documentSymbol - (7)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:03 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 6
}


[Trace - 11:02:03 ] Sending request 'textDocument/documentHighlight - (9)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "position": {
    "line": 0,
    "character": 0
  }
}


[Trace - 11:02:03 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 7
}


[Trace - 11:02:03 ] Sending request 'textDocument/documentSymbol - (10)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:03 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 5
}


[Trace - 11:02:03 ] Sending request 'textDocument/codeLens - (12)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:03 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:03 AM >> initialized"
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "30% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Initialize Workspace",
  "status": "30% ",
  "totalWork": 1000,
  "workDone": 300,
  "complete": null
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "ProjectStatus",
  "message": "OK"
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "100% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Initialize Workspace",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "1000% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Creating link.",
  "status": "1000% ",
  "totalWork": 100,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "1005% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Creating link.",
  "status": "1005% ",
  "totalWork": 100,
  "workDone": 1005,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "1010% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Creating link.",
  "status": "1010% ",
  "totalWork": 100,
  "workDone": 1010,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "1100% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Creating link.",
  "status": "1100% ",
  "totalWork": 100,
  "workDone": 1100,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "1100% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Creating link.",
  "status": "1100% ",
  "totalWork": 100,
  "workDone": 1100,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM Workspace initialized in 412ms"
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Started",
  "message": "Ready"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "f87861a6-28f8-4b6a-b881-a1b4fb6429cd",
  "task": "Synchronizing projects",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "95e727e8-0017-4d9b-bcca-24ef95c69a41",
  "task": "Synchronizing projects",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "Starting",
  "message": "1100% Starting Java Language Server"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "1f0f0f08-1caa-4fa6-8074-7fbdbbf2853c",
  "task": "Creating link.",
  "status": "1100% ",
  "totalWork": 100,
  "workDone": 1100,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "f87861a6-28f8-4b6a-b881-a1b4fb6429cd",
  "task": "Synchronizing projects",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "f87861a6-28f8-4b6a-b881-a1b4fb6429cd",
  "task": "Synchronizing projects",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "95e727e8-0017-4d9b-bcca-24ef95c69a41",
  "task": "Synchronizing projects",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM >> initialization job finished"
}


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM >> registerWatchers'"
}


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM >> registerFeature 'workspace/didChangeWatchedFiles'"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "95e727e8-0017-4d9b-bcca-24ef95c69a41",
  "task": "Synchronizing projects",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 12
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (13)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (1).
Params: {
  "registrations": [
    {
      "id": "e467dd93-c935-4f8d-a799-6e1e923561f7",
      "method": "workspace/didChangeWatchedFiles",
      "registerOptions": {
        "watchers": [
          {
            "globPattern": "**/*.java"
          },
          {
            "globPattern": "**/.project"
          },
          {
            "globPattern": "**/.classpath"
          },
          {
            "globPattern": "**/.settings/*.prefs"
          },
          {
            "globPattern": "**/src/**"
          },
          {
            "globPattern": "**/*.gradle"
          },
          {
            "globPattern": "**/*.gradle.kts"
          },
          {
            "globPattern": "**/gradle.properties"
          },
          {
            "globPattern": "**/pom.xml"
          },
          {
            "globPattern": "/tmp/hello2/lib/**/*.jar"
          },
          {
            "globPattern": "**/.settings"
          },
          {
            "globPattern": "/tmp/hello2/**"
          },
          {
            "globPattern": "/home/cay/bin/cay-eclipse.formatter.xml"
          }
        ]
      }
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (1)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "1",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 13
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (14)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (2).
Params: {
  "registrations": [
    {
      "id": "be44a11e-8a66-451c-b27d-7485426d17bd",
      "method": "textDocument/definition"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (2)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "2",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 14
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (15)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (3).
Params: {
  "registrations": [
    {
      "id": "50668df3-aa68-4a0a-9605-f7b672bfe22f",
      "method": "textDocument/declaration"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (3)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "3",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 15
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (16)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (4).
Params: {
  "registrations": [
    {
      "id": "dcaf4913-b703-405e-a6a3-4e64757f1423",
      "method": "textDocument/typeDefinition"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (4)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "4",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 16
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (17)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (5).
Params: {
  "registrations": [
    {
      "id": "183d045c-ee37-447a-9fcf-44a2fe7e4f6d",
      "method": "textDocument/hover"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (5)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "5",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 17
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (18)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (6).
Params: {
  "registrations": [
    {
      "id": "88d1cabe-da21-4d3c-814f-7ee3db6e6ef3",
      "method": "textDocument/references"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (6)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "6",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 18
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (19)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (7).
Params: {
  "registrations": [
    {
      "id": "fec8e157-946b-46bf-b9a1-1973e02d9f11",
      "method": "workspace/didChangeWorkspaceFolders"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (7)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "7",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 19
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (20)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (8).
Params: {
  "registrations": [
    {
      "id": "ebc5a3f1-0623-4540-8e8c-9e3e16a5803b",
      "method": "textDocument/implementation"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (8)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "8",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 20
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (21)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (9).
Params: {
  "registrations": [
    {
      "id": "c58641e3-498e-40b0-8d60-effd59d6e112",
      "method": "textDocument/completion",
      "registerOptions": {
        "resolveProvider": true,
        "triggerCharacters": [
          ".",
          "@",
          "#",
          "*",
          " "
        ]
      }
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (9)'. Processing request took 85ms
Params: {
  "jsonrpc": "2.0",
  "id": "9",
  "result": null
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "d21b8c4b-416c-4cc8-a5a6-030304255b23",
  "task": "Background task",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 21
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (22)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (10).
Params: {
  "registrations": [
    {
      "id": "7fde0efc-29f8-44a3-a804-04086ff70022",
      "method": "textDocument/formatting"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (10)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "10",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 22
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (23)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (11).
Params: {
  "registrations": [
    {
      "id": "e12b51dd-b1b3-4034-9f2c-0392c2421a07",
      "method": "textDocument/rangeFormatting"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (11)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "11",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 23
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (24)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (12).
Params: {
  "registrations": [
    {
      "id": "8f1d1989-11db-4c30-ad33-b34e10b9af19",
      "method": "textDocument/onTypeFormatting",
      "registerOptions": {
        "firstTriggerCharacter": ";",
        "moreTriggerCharacter": [
          "\n",
          "}"
        ]
      }
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (12)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "12",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 24
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (25)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (13).
Params: {
  "registrations": [
    {
      "id": "5a05ce6f-d6a6-4fc6-bb8e-edff995bd941",
      "method": "textDocument/signatureHelp",
      "registerOptions": {
        "triggerCharacters": [
          "(",
          ","
        ]
      }
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (13)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "13",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 25
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (26)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (14).
Params: {
  "registrations": [
    {
      "id": "55ff2e62-43eb-480c-86f1-ef18fc27c5ab",
      "method": "textDocument/rename",
      "registerOptions": {
        "prepareProvider": true
      }
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (14)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "14",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 26
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (27)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (15).
Params: {
  "registrations": [
    {
      "id": "7c01d7b4-415b-438c-8e70-27cd24833505",
      "method": "textDocument/codeAction",
      "registerOptions": {
        "codeActionKinds": [
          "quickfix",
          "refactor",
          "refactor.extract",
          "refactor.inline",
          "refactor.rewrite",
          "source",
          "source.organizeImports"
        ],
        "resolveProvider": true
      }
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (15)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "15",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 27
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (28)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (16).
Params: {
  "registrations": [
    {
      "id": "c6c304c7-4bc9-4c95-b2e3-71ec94a549fe",
      "method": "textDocument/foldingRange"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (16)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "16",
  "result": null
}


[Trace - 11:02:04 ] Sending notification '$/cancelRequest'.
Params: {
  "id": 28
}


[Trace - 11:02:04 ] Sending request 'textDocument/codeLens - (29)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:04 ] Received request 'client/registerCapability - (17).
Params: {
  "registrations": [
    {
      "id": "08012a2d-c628-4ccd-a41e-815cd77e873d",
      "method": "textDocument/selectionRange"
    }
  ]
}


[Trace - 11:02:04 ] Sending response 'client/registerCapability - (17)'. Processing request took 2ms
Params: {
  "jsonrpc": "2.0",
  "id": "17",
  "result": null
}


[Trace - 11:02:04 ] Received notification 'language/status'.
Params: {
  "type": "ServiceReady",
  "message": "ServiceReady"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "d21b8c4b-416c-4cc8-a5a6-030304255b23",
  "task": "Background task",
  "subTask": "",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "b7ac254d-75b5-4c9a-8575-7d4356078f39",
  "task": "Building",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "b7ac254d-75b5-4c9a-8575-7d4356078f39",
  "task": "Building",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "b7ac254d-75b5-4c9a-8575-7d4356078f39",
  "task": "Building",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM >> build jobs finished"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "6b8aefb6-d495-4dfa-a961-421bca4d5ac8",
  "task": "Refreshing workspace",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "6b8aefb6-d495-4dfa-a961-421bca4d5ac8",
  "task": "Refreshing workspace",
  "subTask": "Refreshing '/hello2_869db07'.",
  "status": "1% Refreshing '/hello2_869db07'.",
  "totalWork": 1000,
  "workDone": 10,
  "complete": true
}


[Trace - 11:02:04 ] Received response 'nil - (6)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 6, method: 'textDocument/documentHighlight') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (7)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 7, method: 'textDocument/documentSymbol') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (5)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 5, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (12)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 12, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (13)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 13, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (14)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 14, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (15)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 15, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (16)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 16, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (17)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 17, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (18)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 18, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (19)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 19, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (20)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 20, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (21)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 21, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (22)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 22, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (23)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 23, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (24)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 24, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (25)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 25, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (26)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 26, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (27)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 27, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'nil - (28)' in 0ms.
Result: {
  "code": -32800,
  "message": "The request (id: 28, method: 'textDocument/codeLens') has been cancelled"
}


[Trace - 11:02:04 ] Received response 'textDocument/documentHighlight - (9)' in 696ms.
Result: []


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "51ac4347-50ef-43d9-9d13-8d0ca051e804",
  "task": "Validate documents",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM Reconciled 1. Took 5 ms"
}


[Trace - 11:02:04 ] Received notification 'language/progressReport'.
Params: {
  "id": "51ac4347-50ef-43d9-9d13-8d0ca051e804",
  "task": "Validate documents",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": true
}


[Trace - 11:02:04 ] Received response 'textDocument/codeLens - (29)' in 484ms.
Result: []


[Trace - 11:02:04 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:04 AM User abort while collecting the document symbols."
}


[Trace - 11:02:04 ] Received response 'textDocument/documentSymbol - (10)' in 932ms.
Result: [
  {
    "name": "NotHelloWorld",
    "kind": 5,
    "range": {
      "start": {
        "line": 3,
        "character": 0
      },
      "end": {
        "line": 21,
        "character": 1
      }
    },
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 13
      },
      "end": {
        "line": 7,
        "character": 26
      }
    },
    "detail": "",
    "children": [
      {
        "name": "main(String[])",
        "kind": 6,
        "range": {
          "start": {
            "line": 9,
            "character": 3
          },
          "end": {
            "line": 20,
            "character": 4
          }
        },
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 22
          },
          "end": {
            "line": 9,
            "character": 26
          }
        },
        "detail": " : void",
        "children": [
          {
            "name": "new Runnable() {...}",
            "kind": 5,
            "range": {
              "start": {
                "line": 11,
                "character": 29
              },
              "end": {
                "line": 19,
                "character": 10
              }
            },
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 33
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "detail": "",
            "children": [
              {
                "name": "run()",
                "kind": 6,
                "range": {
                  "start": {
                    "line": 13,
                    "character": 12
                  },
                  "end": {
                    "line": 18,
                    "character": 13
                  }
                },
                "selectionRange": {
                  "start": {
                    "line": 13,
                    "character": 24
                  },
                  "end": {
                    "line": 13,
                    "character": 27
                  }
                },
                "detail": " : void",
                "children": []
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "name": "NotHelloWorldFrame",
    "kind": 5,
    "range": {
      "start": {
        "line": 23,
        "character": 0
      },
      "end": {
        "line": 41,
        "character": 1
      }
    },
    "selectionRange": {
      "start": {
        "line": 26,
        "character": 6
      },
      "end": {
        "line": 26,
        "character": 24
      }
    },
    "detail": "",
    "children": [
      {
        "name": "NotHelloWorldFrame()",
        "kind": 9,
        "range": {
          "start": {
            "line": 28,
            "character": 3
          },
          "end": {
            "line": 37,
            "character": 4
          }
        },
        "selectionRange": {
          "start": {
            "line": 28,
            "character": 10
          },
          "end": {
            "line": 28,
            "character": 28
          }
        },
        "detail": "",
        "children": []
      },
      {
        "name": "DEFAULT_WIDTH",
        "kind": 14,
        "range": {
          "start": {
            "line": 39,
            "character": 3
          },
          "end": {
            "line": 39,
            "character": 47
          }
        },
        "selectionRange": {
          "start": {
            "line": 39,
            "character": 27
          },
          "end": {
            "line": 39,
            "character": 40
          }
        },
        "detail": "",
        "children": []
      },
      {
        "name": "DEFAULT_HEIGHT",
        "kind": 14,
        "range": {
          "start": {
            "line": 40,
            "character": 3
          },
          "end": {
            "line": 40,
            "character": 48
          }
        },
        "selectionRange": {
          "start": {
            "line": 40,
            "character": 27
          },
          "end": {
            "line": 40,
            "character": 41
          }
        },
        "detail": "",
        "children": []
      }
    ]
  },
  {
    "name": "NotHelloWorldComponent",
    "kind": 5,
    "range": {
      "start": {
        "line": 43,
        "character": 0
      },
      "end": {
        "line": 55,
        "character": 1
      }
    },
    "selectionRange": {
      "start": {
        "line": 46,
        "character": 6
      },
      "end": {
        "line": 46,
        "character": 28
      }
    },
    "detail": "",
    "children": [
      {
        "name": "paintComponent(Graphics)",
        "kind": 6,
        "range": {
          "start": {
            "line": 48,
            "character": 3
          },
          "end": {
            "line": 51,
            "character": 4
          }
        },
        "selectionRange": {
          "start": {
            "line": 48,
            "character": 15
          },
          "end": {
            "line": 48,
            "character": 29
          }
        },
        "detail": " : void",
        "children": []
      },
      {
        "name": "MESSAGE_X",
        "kind": 14,
        "range": {
          "start": {
            "line": 53,
            "character": 3
          },
          "end": {
            "line": 53,
            "character": 42
          }
        },
        "selectionRange": {
          "start": {
            "line": 53,
            "character": 27
          },
          "end": {
            "line": 53,
            "character": 36
          }
        },
        "detail": "",
        "children": []
      },
      {
        "name": "MESSAGE_Y",
        "kind": 14,
        "range": {
          "start": {
            "line": 54,
            "character": 3
          },
          "end": {
            "line": 54,
            "character": 43
          }
        },
        "selectionRange": {
          "start": {
            "line": 54,
            "character": 27
          },
          "end": {
            "line": 54,
            "character": 36
          }
        },
        "detail": "",
        "children": []
      }
    ]
  }
]


[Trace - 11:02:05 ] Received notification 'language/progressReport'.
Params: {
  "id": "672f8878-0164-4548-9128-9fdb44259983",
  "task": "Building",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:05 ] Received notification 'language/progressReport'.
Params: {
  "id": "672f8878-0164-4548-9128-9fdb44259983",
  "task": "Building",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": true
}


[Trace - 11:02:05 ] Received notification 'language/progressReport'.
Params: {
  "id": "0e0436ca-18ea-4ac7-bbdc-4e11ada95d3b",
  "task": "Publish Diagnostics",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:05 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:05 AM begin problem for /NotHelloWorld.java"
}


[Trace - 11:02:05 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:05 AM 0 problems reported for /NotHelloWorld.java"
}


[Trace - 11:02:05 ] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///tmp/hello2/NotHelloWorld.java",
  "diagnostics": []
}


[Trace - 11:02:05 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:05 AM Validated 1. Took 50 ms"
}


[Trace - 11:02:05 ] Received notification 'language/progressReport'.
Params: {
  "id": "0e0436ca-18ea-4ac7-bbdc-4e11ada95d3b",
  "task": "Publish Diagnostics",
  "status": "50% ",
  "totalWork": 1000,
  "workDone": 500,
  "complete": true
}


[Trace - 11:02:05 ] Sending request 'textDocument/codeAction - (30)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "range": {
    "start": {
      "line": 0,
      "character": 0
    },
    "end": {
      "line": 0,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 11:02:05 ] Received request 'workspace/configuration - (18).
Params: {
  "items": [
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.tabSize"
    },
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.insertSpaces"
    }
  ]
}


[Trace - 11:02:05 ] Sending response 'workspace/configuration - (18)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": "18",
  "result": [
    3,
    true
  ]
}


[Trace - 11:02:05 ] Received response 'textDocument/codeAction - (30)' in 143ms.
Result: [
  {
    "title": "Organize imports",
    "kind": "quickassist",
    "diagnostics": [],
    "data": {
      "pid": "0",
      "rid": "0"
    }
  },
  {
    "title": "Organize imports",
    "kind": "source.organizeImports",
    "diagnostics": [],
    "data": {
      "pid": "1",
      "rid": "0"
    }
  },
  {
    "title": "Generate toString()",
    "kind": "source.generate.toString",
    "diagnostics": [],
    "data": {
      "pid": "2",
      "rid": "0"
    }
  },
  {
    "title": "Override/Implement Methods...",
    "kind": "source.overrideMethods",
    "diagnostics": [],
    "command": {
      "title": "Override/Implement Methods...",
      "command": "java.action.overrideMethodsPrompt",
      "arguments": [
        {
          "textDocument": {
            "uri": "file:///tmp/hello2/NotHelloWorld.java"
          },
          "range": {
            "start": {
              "line": 0,
              "character": 0
            },
            "end": {
              "line": 0,
              "character": 0
            }
          },
          "context": {
            "diagnostics": []
          }
        }
      ]
    }
  },
  {
    "title": "Sort Members for 'NotHelloWorld.java'",
    "kind": "source.sortMembers",
    "diagnostics": [],
    "data": {
      "pid": "3",
      "rid": "0"
    }
  },
  {
    "title": "Change modifiers to final where possible",
    "kind": "source.generate.finalModifiers",
    "diagnostics": [],
    "data": {
      "pid": "4",
      "rid": "0"
    }
  }
]


[Trace - 11:02:05 ] Sending request 'textDocument/codeAction - (31)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "range": {
    "start": {
      "line": 0,
      "character": 0
    },
    "end": {
      "line": 0,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 11:02:05 ] Received request 'workspace/configuration - (19).
Params: {
  "items": [
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.tabSize"
    },
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.insertSpaces"
    }
  ]
}


[Trace - 11:02:05 ] Sending response 'workspace/configuration - (19)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": "19",
  "result": [
    3,
    true
  ]
}


[Trace - 11:02:05 ] Received response 'textDocument/codeAction - (31)' in 14ms.
Result: [
  {
    "title": "Organize imports",
    "kind": "quickassist",
    "diagnostics": [],
    "data": {
      "pid": "0",
      "rid": "1"
    }
  },
  {
    "title": "Organize imports",
    "kind": "source.organizeImports",
    "diagnostics": [],
    "data": {
      "pid": "1",
      "rid": "1"
    }
  },
  {
    "title": "Generate toString()",
    "kind": "source.generate.toString",
    "diagnostics": [],
    "data": {
      "pid": "2",
      "rid": "1"
    }
  },
  {
    "title": "Override/Implement Methods...",
    "kind": "source.overrideMethods",
    "diagnostics": [],
    "command": {
      "title": "Override/Implement Methods...",
      "command": "java.action.overrideMethodsPrompt",
      "arguments": [
        {
          "textDocument": {
            "uri": "file:///tmp/hello2/NotHelloWorld.java"
          },
          "range": {
            "start": {
              "line": 0,
              "character": 0
            },
            "end": {
              "line": 0,
              "character": 0
            }
          },
          "context": {
            "diagnostics": []
          }
        }
      ]
    }
  },
  {
    "title": "Sort Members for 'NotHelloWorld.java'",
    "kind": "source.sortMembers",
    "diagnostics": [],
    "data": {
      "pid": "3",
      "rid": "1"
    }
  },
  {
    "title": "Change modifiers to final where possible",
    "kind": "source.generate.finalModifiers",
    "diagnostics": [],
    "data": {
      "pid": "4",
      "rid": "1"
    }
  }
]


[Trace - 11:02:16 ] Sending request 'textDocument/formatting - (32)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "options": {
    "tabSize": 3,
    "insertSpaces": true,
    "trimTrailingWhitespace": true,
    "insertFinalNewline": true,
    "trimFinalNewlines": true
  }
}


[Trace - 11:02:16 ] Received response 'textDocument/formatting - (32)' in 25ms.
Result: [
  {
    "range": {
      "start": {
        "line": 11,
        "character": 43
      },
      "end": {
        "line": 12,
        "character": 9
      }
    },
    "newText": "\n      "
  },
  {
    "range": {
      "start": {
        "line": 12,
        "character": 10
      },
      "end": {
        "line": 13,
        "character": 12
      }
    },
    "newText": "\n         "
  },
  {
    "range": {
      "start": {
        "line": 13,
        "character": 29
      },
      "end": {
        "line": 14,
        "character": 12
      }
    },
    "newText": "\n         "
  },
  {
    "range": {
      "start": {
        "line": 14,
        "character": 13
      },
      "end": {
        "line": 15,
        "character": 15
      }
    },
    "newText": "\n            "
  },
  {
    "range": {
      "start": {
        "line": 15,
        "character": 67
      },
      "end": {
        "line": 16,
        "character": 15
      }
    },
    "newText": "\n            "
  },
  {
    "range": {
      "start": {
        "line": 16,
        "character": 68
      },
      "end": {
        "line": 17,
        "character": 15
      }
    },
    "newText": "\n            "
  },
  {
    "range": {
      "start": {
        "line": 17,
        "character": 38
      },
      "end": {
        "line": 18,
        "character": 12
      }
    },
    "newText": "\n         "
  },
  {
    "range": {
      "start": {
        "line": 18,
        "character": 13
      },
      "end": {
        "line": 19,
        "character": 9
      }
    },
    "newText": "\n      "
  }
]


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 1
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 18,
          "character": 13
        },
        "end": {
          "line": 19,
          "character": 9
        }
      },
      "rangeLength": 10,
      "text": "\n      "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 2
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 17,
          "character": 38
        },
        "end": {
          "line": 18,
          "character": 12
        }
      },
      "rangeLength": 13,
      "text": "\n         "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 3
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 16,
          "character": 68
        },
        "end": {
          "line": 17,
          "character": 15
        }
      },
      "rangeLength": 16,
      "text": "\n            "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 4
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 15,
          "character": 67
        },
        "end": {
          "line": 16,
          "character": 15
        }
      },
      "rangeLength": 16,
      "text": "\n            "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 5
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 13
        },
        "end": {
          "line": 15,
          "character": 15
        }
      },
      "rangeLength": 16,
      "text": "\n            "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 6
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 13,
          "character": 29
        },
        "end": {
          "line": 14,
          "character": 12
        }
      },
      "rangeLength": 13,
      "text": "\n         "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 7
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 12,
          "character": 10
        },
        "end": {
          "line": 13,
          "character": 12
        }
      },
      "rangeLength": 13,
      "text": "\n         "
    }
  ]
}


[Trace - 11:02:16 ] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 8
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 11,
          "character": 43
        },
        "end": {
          "line": 12,
          "character": 9
        }
      },
      "rangeLength": 10,
      "text": "\n      "
    }
  ]
}


[Trace - 11:02:16 ] Received notification 'language/progressReport'.
Params: {
  "id": "84fb4a03-871c-496d-8d99-18c031ae9eae",
  "task": "Validate documents",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:16 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:16 AM Reconciled 1. Took 2 ms"
}


[Trace - 11:02:16 ] Received notification 'language/progressReport'.
Params: {
  "id": "84fb4a03-871c-496d-8d99-18c031ae9eae",
  "task": "Validate documents",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": true
}


[Trace - 11:02:17 ] Sending request 'textDocument/documentSymbol - (33)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:17 ] Sending request 'textDocument/codeAction - (34)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "range": {
    "start": {
      "line": 0,
      "character": 0
    },
    "end": {
      "line": 0,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 11:02:17 ] Sending request 'textDocument/documentHighlight - (35)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "position": {
    "line": 0,
    "character": 0
  }
}


[Trace - 11:02:17 ] Sending request 'textDocument/hover - (36)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "position": {
    "line": 0,
    "character": 0
  }
}


[Trace - 11:02:17 ] Sending request 'textDocument/codeLens - (37)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:17 ] Received request 'workspace/configuration - (20).
Params: {
  "items": [
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.tabSize"
    },
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.insertSpaces"
    }
  ]
}


[Trace - 11:02:17 ] Sending response 'workspace/configuration - (20)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "20",
  "result": [
    3,
    true
  ]
}


[Trace - 11:02:17 ] Received response 'textDocument/documentSymbol - (33)' in 21ms.
Result: [
  {
    "name": "NotHelloWorld",
    "kind": 5,
    "range": {
      "start": {
        "line": 3,
        "character": 0
      },
      "end": {
        "line": 21,
        "character": 1
      }
    },
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 13
      },
      "end": {
        "line": 7,
        "character": 26
      }
    },
    "detail": "",
    "children": [
      {
        "name": "main(String[])",
        "kind": 6,
        "range": {
          "start": {
            "line": 9,
            "character": 3
          },
          "end": {
            "line": 20,
            "character": 4
          }
        },
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 22
          },
          "end": {
            "line": 9,
            "character": 26
          }
        },
        "detail": " : void",
        "children": [
          {
            "name": "new Runnable() {...}",
            "kind": 5,
            "range": {
              "start": {
                "line": 11,
                "character": 29
              },
              "end": {
                "line": 19,
                "character": 7
              }
            },
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 33
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "detail": "",
            "children": [
              {
                "name": "run()",
                "kind": 6,
                "range": {
                  "start": {
                    "line": 13,
                    "character": 9
                  },
                  "end": {
                    "line": 18,
                    "character": 10
                  }
                },
                "selectionRange": {
                  "start": {
                    "line": 13,
                    "character": 21
                  },
                  "end": {
                    "line": 13,
                    "character": 24
                  }
                },
                "detail": " : void",
                "children": []
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "name": "NotHelloWorldFrame",
    "kind": 5,
    "range": {
      "start": {
        "line": 23,
        "character": 0
      },
      "end": {
        "line": 41,
        "character": 1
      }
    },
    "selectionRange": {
      "start": {
        "line": 26,
        "character": 6
      },
      "end": {
        "line": 26,
        "character": 24
      }
    },
    "detail": "",
    "children": [
      {
        "name": "NotHelloWorldFrame()",
        "kind": 9,
        "range": {
          "start": {
            "line": 28,
            "character": 3
          },
          "end": {
            "line": 37,
            "character": 4
          }
        },
        "selectionRange": {
          "start": {
            "line": 28,
            "character": 10
          },
          "end": {
            "line": 28,
            "character": 28
          }
        },
        "detail": "",
        "children": []
      },
      {
        "name": "DEFAULT_WIDTH",
        "kind": 14,
        "range": {
          "start": {
            "line": 39,
            "character": 3
          },
          "end": {
            "line": 39,
            "character": 47
          }
        },
        "selectionRange": {
          "start": {
            "line": 39,
            "character": 27
          },
          "end": {
            "line": 39,
            "character": 40
          }
        },
        "detail": "",
        "children": []
      },
      {
        "name": "DEFAULT_HEIGHT",
        "kind": 14,
        "range": {
          "start": {
            "line": 40,
            "character": 3
          },
          "end": {
            "line": 40,
            "character": 48
          }
        },
        "selectionRange": {
          "start": {
            "line": 40,
            "character": 27
          },
          "end": {
            "line": 40,
            "character": 41
          }
        },
        "detail": "",
        "children": []
      }
    ]
  },
  {
    "name": "NotHelloWorldComponent",
    "kind": 5,
    "range": {
      "start": {
        "line": 43,
        "character": 0
      },
      "end": {
        "line": 55,
        "character": 1
      }
    },
    "selectionRange": {
      "start": {
        "line": 46,
        "character": 6
      },
      "end": {
        "line": 46,
        "character": 28
      }
    },
    "detail": "",
    "children": [
      {
        "name": "paintComponent(Graphics)",
        "kind": 6,
        "range": {
          "start": {
            "line": 48,
            "character": 3
          },
          "end": {
            "line": 51,
            "character": 4
          }
        },
        "selectionRange": {
          "start": {
            "line": 48,
            "character": 15
          },
          "end": {
            "line": 48,
            "character": 29
          }
        },
        "detail": " : void",
        "children": []
      },
      {
        "name": "MESSAGE_X",
        "kind": 14,
        "range": {
          "start": {
            "line": 53,
            "character": 3
          },
          "end": {
            "line": 53,
            "character": 42
          }
        },
        "selectionRange": {
          "start": {
            "line": 53,
            "character": 27
          },
          "end": {
            "line": 53,
            "character": 36
          }
        },
        "detail": "",
        "children": []
      },
      {
        "name": "MESSAGE_Y",
        "kind": 14,
        "range": {
          "start": {
            "line": 54,
            "character": 3
          },
          "end": {
            "line": 54,
            "character": 43
          }
        },
        "selectionRange": {
          "start": {
            "line": 54,
            "character": 27
          },
          "end": {
            "line": 54,
            "character": 36
          }
        },
        "detail": "",
        "children": []
      }
    ]
  }
]


[Trace - 11:02:17 ] Received notification 'language/progressReport'.
Params: {
  "id": "d6372691-604d-4137-ad21-a1a866911e8b",
  "task": "Publish Diagnostics",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:17 ] Received response 'textDocument/codeLens - (37)' in 6ms.
Result: []


[Trace - 11:02:17 ] Received response 'textDocument/hover - (36)' in 21ms.
Result: {
  "contents": ""
}


[Trace - 11:02:17 ] Received response 'textDocument/documentHighlight - (35)' in 42ms.
Result: []


[Trace - 11:02:17 ] Received response 'textDocument/codeAction - (34)' in 43ms.
Result: [
  {
    "title": "Organize imports",
    "kind": "quickassist",
    "diagnostics": [],
    "data": {
      "pid": "0",
      "rid": "2"
    }
  },
  {
    "title": "Organize imports",
    "kind": "source.organizeImports",
    "diagnostics": [],
    "data": {
      "pid": "1",
      "rid": "2"
    }
  },
  {
    "title": "Generate toString()",
    "kind": "source.generate.toString",
    "diagnostics": [],
    "data": {
      "pid": "2",
      "rid": "2"
    }
  },
  {
    "title": "Override/Implement Methods...",
    "kind": "source.overrideMethods",
    "diagnostics": [],
    "command": {
      "title": "Override/Implement Methods...",
      "command": "java.action.overrideMethodsPrompt",
      "arguments": [
        {
          "textDocument": {
            "uri": "file:///tmp/hello2/NotHelloWorld.java"
          },
          "range": {
            "start": {
              "line": 0,
              "character": 0
            },
            "end": {
              "line": 0,
              "character": 0
            }
          },
          "context": {
            "diagnostics": []
          }
        }
      ]
    }
  },
  {
    "title": "Sort Members for 'NotHelloWorld.java'",
    "kind": "source.sortMembers",
    "diagnostics": [],
    "data": {
      "pid": "3",
      "rid": "2"
    }
  },
  {
    "title": "Change modifiers to final where possible",
    "kind": "source.generate.finalModifiers",
    "diagnostics": [],
    "data": {
      "pid": "4",
      "rid": "2"
    }
  }
]


[Trace - 11:02:17 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:17 AM begin problem for /NotHelloWorld.java"
}


[Trace - 11:02:17 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:17 AM 0 problems reported for /NotHelloWorld.java"
}


[Trace - 11:02:17 ] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///tmp/hello2/NotHelloWorld.java",
  "diagnostics": []
}


[Trace - 11:02:17 ] Received notification 'window/logMessage'.
Params: {
  "type": 3,
  "message": "Oct 24, 2023, 11:02:17 AM Validated 1. Took 40 ms"
}


[Trace - 11:02:17 ] Received notification 'language/progressReport'.
Params: {
  "id": "d6372691-604d-4137-ad21-a1a866911e8b",
  "task": "Publish Diagnostics",
  "status": "50% ",
  "totalWork": 1000,
  "workDone": 500,
  "complete": true
}


[Trace - 11:02:17 ] Sending request 'textDocument/codeAction - (38)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "range": {
    "start": {
      "line": 0,
      "character": 0
    },
    "end": {
      "line": 0,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 11:02:17 ] Received request 'workspace/configuration - (21).
Params: {
  "items": [
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.tabSize"
    },
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.insertSpaces"
    }
  ]
}


[Trace - 11:02:17 ] Sending response 'workspace/configuration - (21)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": "21",
  "result": [
    3,
    true
  ]
}


[Trace - 11:02:17 ] Received response 'textDocument/codeAction - (38)' in 24ms.
Result: [
  {
    "title": "Organize imports",
    "kind": "quickassist",
    "diagnostics": [],
    "data": {
      "pid": "0",
      "rid": "3"
    }
  },
  {
    "title": "Organize imports",
    "kind": "source.organizeImports",
    "diagnostics": [],
    "data": {
      "pid": "1",
      "rid": "3"
    }
  },
  {
    "title": "Generate toString()",
    "kind": "source.generate.toString",
    "diagnostics": [],
    "data": {
      "pid": "2",
      "rid": "3"
    }
  },
  {
    "title": "Override/Implement Methods...",
    "kind": "source.overrideMethods",
    "diagnostics": [],
    "command": {
      "title": "Override/Implement Methods...",
      "command": "java.action.overrideMethodsPrompt",
      "arguments": [
        {
          "textDocument": {
            "uri": "file:///tmp/hello2/NotHelloWorld.java"
          },
          "range": {
            "start": {
              "line": 0,
              "character": 0
            },
            "end": {
              "line": 0,
              "character": 0
            }
          },
          "context": {
            "diagnostics": []
          }
        }
      ]
    }
  },
  {
    "title": "Sort Members for 'NotHelloWorld.java'",
    "kind": "source.sortMembers",
    "diagnostics": [],
    "data": {
      "pid": "3",
      "rid": "3"
    }
  },
  {
    "title": "Change modifiers to final where possible",
    "kind": "source.generate.finalModifiers",
    "diagnostics": [],
    "data": {
      "pid": "4",
      "rid": "3"
    }
  }
]


[Trace - 11:02:17 ] Sending request 'textDocument/codeAction - (39)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  },
  "range": {
    "start": {
      "line": 0,
      "character": 0
    },
    "end": {
      "line": 0,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 11:02:17 ] Received request 'workspace/configuration - (22).
Params: {
  "items": [
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.tabSize"
    },
    {
      "scopeUri": "file:///tmp/hello2/NotHelloWorld.java",
      "section": "java.format.insertSpaces"
    }
  ]
}


[Trace - 11:02:17 ] Sending response 'workspace/configuration - (22)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": "22",
  "result": [
    3,
    true
  ]
}


[Trace - 11:02:17 ] Received response 'textDocument/codeAction - (39)' in 53ms.
Result: [
  {
    "title": "Organize imports",
    "kind": "quickassist",
    "diagnostics": [],
    "data": {
      "pid": "0",
      "rid": "4"
    }
  },
  {
    "title": "Organize imports",
    "kind": "source.organizeImports",
    "diagnostics": [],
    "data": {
      "pid": "1",
      "rid": "4"
    }
  },
  {
    "title": "Generate toString()",
    "kind": "source.generate.toString",
    "diagnostics": [],
    "data": {
      "pid": "2",
      "rid": "4"
    }
  },
  {
    "title": "Override/Implement Methods...",
    "kind": "source.overrideMethods",
    "diagnostics": [],
    "command": {
      "title": "Override/Implement Methods...",
      "command": "java.action.overrideMethodsPrompt",
      "arguments": [
        {
          "textDocument": {
            "uri": "file:///tmp/hello2/NotHelloWorld.java"
          },
          "range": {
            "start": {
              "line": 0,
              "character": 0
            },
            "end": {
              "line": 0,
              "character": 0
            }
          },
          "context": {
            "diagnostics": []
          }
        }
      ]
    }
  },
  {
    "title": "Sort Members for 'NotHelloWorld.java'",
    "kind": "source.sortMembers",
    "diagnostics": [],
    "data": {
      "pid": "3",
      "rid": "4"
    }
  },
  {
    "title": "Change modifiers to final where possible",
    "kind": "source.generate.finalModifiers",
    "diagnostics": [],
    "data": {
      "pid": "4",
      "rid": "4"
    }
  }
]


[Trace - 11:02:23 ] Sending notification 'textDocument/didSave'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java",
    "version": 8
  }
}


[Trace - 11:02:23 ] Sending request 'textDocument/codeLens - (40)'.
Params: {
  "textDocument": {
    "uri": "file:///tmp/hello2/NotHelloWorld.java"
  }
}


[Trace - 11:02:23 ] Sending notification 'workspace/didChangeWatchedFiles'.
Params: {
  "changes": [
    {
      "type": 2,
      "uri": "file:///tmp/hello2/NotHelloWorld.java"
    }
  ]
}


[Trace - 11:02:23 ] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/cay/.emacs.d/workspace/hello2_869db07",
  "diagnostics": []
}


[Trace - 11:02:23 ] Received response 'textDocument/codeLens - (40)' in 27ms.
Result: []


[Trace - 11:02:23 ] Received notification 'language/progressReport'.
Params: {
  "id": "6036a69e-215b-4116-81e8-14a2d28b4976",
  "task": "Building",
  "status": "0% ",
  "totalWork": 1000,
  "workDone": 0,
  "complete": null
}


[Trace - 11:02:23 ] Received notification 'language/progressReport'.
Params: {
  "id": "6036a69e-215b-4116-81e8-14a2d28b4976",
  "task": "Building",
  "subTask": "",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}


[Trace - 11:02:23 ] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/cay/.emacs.d/workspace/hello2_869db07",
  "diagnostics": []
}


[Trace - 11:02:23 ] Received notification 'language/progressReport'.
Params: {
  "id": "6036a69e-215b-4116-81e8-14a2d28b4976",
  "task": "Building",
  "subTask": "",
  "status": "100% ",
  "totalWork": 1000,
  "workDone": 1000,
  "complete": true
}



^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2023-10-24  9:17 bug#66726: 29.1; Eglot jdtls formatter ignored Cay Horstmann
@ 2023-10-29 12:08 ` Eli Zaretskii
  2023-10-29 14:40   ` João Távora
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-10-29 12:08 UTC (permalink / raw)
  To: Cay Horstmann, João Távora; +Cc: 66726

> Date: Tue, 24 Oct 2023 11:17:09 +0200
> From: Cay Horstmann <cay@horstmann.com>
> 
> Eglot does not trigger a custom formatter with jdtls, while lsp-java and VS Code with the Red Hat Java plugin can do this. See https://github.com/joaotavora/eglot/discussions/1222 for more background.
> 
> I attach files
> * eglot-debug.el (the minimal configuration to see the failure)
> * NotHelloWorld.java (a sample Java file)
> * cay-eclipse-formatter.xml (the formatting rules for jdtls)
> * eglot-events.txt (the events log from eglot)
> * lsp-java-debug.el (the minimal configuration to see how it works with lsp-java)
> * lsp-log.txt (the log from the successful run with lsp)
> 
> Download jdtls from https://download.eclipse.org/jdtls/snapshots/?d. I
> have the version from Oct. 14, 2023. Put it somewhere on your PATH
> 
> Put the NotHelloWorld.java file in some directory (I use /tmp/hello)
> 
> Put the cay-eclipse-formatter.xml file somewhere and adjust the path in eglot-debug.el and lsp-java-debug.el.
> 
> emacs -q -l eglot-debug.el /tmp/hello/NotHelloWorld.java
> 
> M-x eglot RET
> 
> Wait for jdtls to start
> 
> M-x eglot-format-buffer RET
> 
> The formatting should now use the rules in the cay-eclipse-formatter.xml
> file, resulting in 8 changes but the same Allman indentation
> style. Instead, it uses a K&R indentation style.
> 
> To see the proper formatting, install lsp-mode and lsp-java and start with lsp-java-debug.el. Or use VS Code with the Red Hat Java plugin and the settings.json
> 
> {
>      "java.format.settings.url": "file:///data/cay/bin/cay-eclipse.formatter.xml",
>      "java.format.settings.profile": "cay"
> }

João, any comments?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2023-10-29 12:08 ` Eli Zaretskii
@ 2023-10-29 14:40   ` João Távora
  2023-11-06 17:16     ` Cay Horstmann
  0 siblings, 1 reply; 8+ messages in thread
From: João Távora @ 2023-10-29 14:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 66726, Cay Horstmann

On Sun, Oct 29, 2023 at 12:08 PM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Date: Tue, 24 Oct 2023 11:17:09 +0200
> > From: Cay Horstmann <cay@horstmann.com>
> >
> > Eglot does not trigger a custom formatter with jdtls, while lsp-java and VS Code with the Red Hat Java plugin can do this. See https://github.com/joaotavora/eglot/discussions/1222 for more background.
> >
> > I attach files
> > * eglot-debug.el (the minimal configuration to see the failure)
> > * NotHelloWorld.java (a sample Java file)
> > * cay-eclipse-formatter.xml (the formatting rules for jdtls)
> > * eglot-events.txt (the events log from eglot)
> > * lsp-java-debug.el (the minimal configuration to see how it works with lsp-java)
> > * lsp-log.txt (the log from the successful run with lsp)
> >
> > Download jdtls from https://download.eclipse.org/jdtls/snapshots/?d. I
> > have the version from Oct. 14, 2023. Put it somewhere on your PATH
> >
> > Put the NotHelloWorld.java file in some directory (I use /tmp/hello)
> >
> > Put the cay-eclipse-formatter.xml file somewhere and adjust the path in eglot-debug.el and lsp-java-debug.el.
> >
> > emacs -q -l eglot-debug.el /tmp/hello/NotHelloWorld.java
> >
> > M-x eglot RET
> >
> > Wait for jdtls to start
> >
> > M-x eglot-format-buffer RET
> >
> > The formatting should now use the rules in the cay-eclipse-formatter.xml
> > file, resulting in 8 changes but the same Allman indentation
> > style. Instead, it uses a K&R indentation style.
> >
> > To see the proper formatting, install lsp-mode and lsp-java and start with lsp-java-debug.el. Or use VS Code with the Red Hat Java plugin and the settings.json
> >
> > {
> >      "java.format.settings.url": "file:///data/cay/bin/cay-eclipse.formatter.xml",
> >      "java.format.settings.profile": "cay"
> > }
>
> João, any comments?

Not many.  Seems like a good error recipe, assuming someone
finds the time to reproduce it.  If I had to guess, I'd say
almost surely a server-side quirk about it not finding the
xml file from that slightly strange url.  Maybe lsp-mode is
setting some environment variable.  But that would
require me debugging Java which I haven't done in just
about 20 years and not really looking forward to.

Cay, is there some kind of jtdls error log where it reports
things?  Can you also attach the Eglot stderr buffer, in case
it has something useful?  Use `M-x eglot-stderr-buffer`.

The only thing that seems to be missing is the Emacs version,
but I'll assume it's the version used in M-x report-emacs-bug
itself, which is 29.1.

João





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2023-10-29 14:40   ` João Távora
@ 2023-11-06 17:16     ` Cay Horstmann
  2023-11-18  8:40       ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Cay Horstmann @ 2023-11-06 17:16 UTC (permalink / raw)
  To: João Távora, Eli Zaretskii; +Cc: 66726

[-- Attachment #1: Type: text/plain, Size: 4933 bytes --]

On 29/10/2023 15.40, João Távora wrote:
> On Sun, Oct 29, 2023 at 12:08 PM Eli Zaretskii <eliz@gnu.org> wrote:
>>
>>> Date: Tue, 24 Oct 2023 11:17:09 +0200
>>> From: Cay Horstmann <cay@horstmann.com>
>>>
>>> Eglot does not trigger a custom formatter with jdtls, while lsp-java and VS Code with the Red Hat Java plugin can do this. See https://github.com/joaotavora/eglot/discussions/1222 for more background.
>>>
>>> I attach files
>>> * eglot-debug.el (the minimal configuration to see the failure)
>>> * NotHelloWorld.java (a sample Java file)
>>> * cay-eclipse-formatter.xml (the formatting rules for jdtls)
>>> * eglot-events.txt (the events log from eglot)
>>> * lsp-java-debug.el (the minimal configuration to see how it works with lsp-java)
>>> * lsp-log.txt (the log from the successful run with lsp)
>>>
>>> Download jdtls from https://download.eclipse.org/jdtls/snapshots/?d. I
>>> have the version from Oct. 14, 2023. Put it somewhere on your PATH
>>>
>>> Put the NotHelloWorld.java file in some directory (I use /tmp/hello)
>>>
>>> Put the cay-eclipse-formatter.xml file somewhere and adjust the path in eglot-debug.el and lsp-java-debug.el.
>>>
>>> emacs -q -l eglot-debug.el /tmp/hello/NotHelloWorld.java
>>>
>>> M-x eglot RET
>>>
>>> Wait for jdtls to start
>>>
>>> M-x eglot-format-buffer RET
>>>
>>> The formatting should now use the rules in the cay-eclipse-formatter.xml
>>> file, resulting in 8 changes but the same Allman indentation
>>> style. Instead, it uses a K&R indentation style.
>>>
>>> To see the proper formatting, install lsp-mode and lsp-java and start with lsp-java-debug.el. Or use VS Code with the Red Hat Java plugin and the settings.json
>>>
>>> {
>>>       "java.format.settings.url": "file:///data/cay/bin/cay-eclipse.formatter.xml",
>>>       "java.format.settings.profile": "cay"
>>> }
>>
>> João, any comments?
> 
> Not many.  Seems like a good error recipe, assuming someone
> finds the time to reproduce it.  If I had to guess, I'd say
> almost surely a server-side quirk about it not finding the
> xml file from that slightly strange url.  Maybe lsp-mode is
> setting some environment variable.  But that would
> require me debugging Java which I haven't done in just
> about 20 years and not really looking forward to.
> 
> Cay, is there some kind of jtdls error log where it reports
> things?  Can you also attach the Eglot stderr buffer, in case
> it has something useful?  Use `M-x eglot-stderr-buffer`.
> 
> The only thing that seems to be missing is the Emacs version,
> but I'll assume it's the version used in M-x report-emacs-bug
> itself, which is 29.1.
> 
> João

Hello, here is another stab at this.

* There is no problem with that funny looking file:/// URL. jdtls can find it when invoked from VS Code and lsp-mode.

* I attach the initialization that happens from VS Code. It looks just like the one that I am setting up in eglot. Look at the path initializationOptions.settings.java.format.settings.

Formatting works fine in VS Code. The logs show requests such as this one:

[Trace - 3:51:32 PM] Sending request 'textDocument/formatting - (71)'.
Params: {
     "textDocument": {
         "uri": "file:///tmp/test/NotHelloWorld.java"
     },
     "options": {
         "tabSize": 4,
         "insertSpaces": true
     }
}

These look just like the ones that eglot sends. But the response is a formatting directive that follows the formatter, whereas with eglot, the response is a directive that follows some default.

* Here is the requested eglot-stderr-buffer:

WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign
Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic

* Yes, it is Emacs 29.1.

* The jdtls logs are a mystery to me. According to https://github.com/eclipse-jdtls/eclipse.jdt.ls/issues/752#issuecomment-412275314,

"Should be in workspace/.metadata/.log, workspace location is a parameter you pass when starting the server."

Who is "you"? I suppose the client, i.e. eglot or VS Code. I find files such as

./eglot-java-eclipse-jdt-cache/a397d9cc217eb5e87ff722051c2f059b/.metadata/.log

but they don't contain any info on today's interactions. There is no other directory in that cache. I can tell from that log that the directory was passed as a --data command-line argument. But when I intercept jdtls today via a script to log the command-line args, there is no --data command-line argument passed when invoking jdtls.

Thanks,

Cay

--

Cay S. Horstmann | http://horstmann.com | mailto:cay@horstmann.com

[-- Attachment #2: vs-code-jdtls.log --]
[-- Type: text/x-log, Size: 29252 bytes --]

Params: {
    "processId": 425037,
    "clientInfo": {
        "name": "VSCodium",
        "version": "1.84.0"
    },
    "locale": "en",
    "rootPath": "/home/cay/projects/versuchspersonendatenbank-backend",
    "rootUri": "file:///home/cay/projects/versuchspersonendatenbank-backend",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional",
                "normalizesLineEndings": true,
                "changeAnnotationSupport": {
                    "groupsOnLabel": true
                }
            },
            "configuration": true,
            "didChangeWatchedFiles": {
                "dynamicRegistration": true,
                "relativePatternSupport": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "resolveSupport": {
                    "properties": [
                        "location.range"
                    ]
                }
            },
            "codeLens": {
                "refreshSupport": true
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "workspaceFolders": true,
            "semanticTokens": {
                "refreshSupport": true
            },
            "fileOperations": {
                "dynamicRegistration": true,
                "didCreate": true,
                "didRename": true,
                "didDelete": true,
                "willCreate": true,
                "willRename": true,
                "willDelete": true
            },
            "inlineValue": {
                "refreshSupport": true
            },
            "inlayHint": {
                "refreshSupport": true
            },
            "diagnostics": {
                "refreshSupport": true
            }
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": false,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                },
                "codeDescriptionSupport": true,
                "dataSupport": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    },
                    "insertReplaceSupport": true,
                    "resolveSupport": {
                        "properties": [
                            "documentation",
                            "detail",
                            "additionalTextEdits"
                        ]
                    },
                    "insertTextModeSupport": {
                        "valueSet": [
                            1,
                            2
                        ]
                    },
                    "labelDetailsSupport": true
                },
                "insertTextMode": 2,
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                },
                "completionList": {
                    "itemDefaults": [
                        "commitCharacters",
                        "editRange",
                        "insertTextFormat",
                        "insertTextMode"
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    },
                    "activeParameterSupport": true
                },
                "contextSupport": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "labelSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "disabledSupport": true,
                "dataSupport": true,
                "resolveSupport": {
                    "properties": [
                        "edit"
                    ]
                },
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                },
                "honorsChangeAnnotations": false
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true,
                "prepareSupportDefaultBehavior": 1,
                "honorsChangeAnnotations": true
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true,
                "foldingRangeKind": {
                    "valueSet": [
                        "comment",
                        "imports",
                        "region"
                    ]
                },
                "foldingRange": {
                    "collapsedText": false
                }
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "selectionRange": {
                "dynamicRegistration": true
            },
            "callHierarchy": {
                "dynamicRegistration": true
            },
            "semanticTokens": {
                "dynamicRegistration": true,
                "tokenTypes": [
                    "namespace",
                    "type",
                    "class",
                    "enum",
                    "interface",
                    "struct",
                    "typeParameter",
                    "parameter",
                    "variable",
                    "property",
                    "enumMember",
                    "event",
                    "function",
                    "method",
                    "macro",
                    "keyword",
                    "modifier",
                    "comment",
                    "string",
                    "number",
                    "regexp",
                    "operator",
                    "decorator"
                ],
                "tokenModifiers": [
                    "declaration",
                    "definition",
                    "readonly",
                    "static",
                    "deprecated",
                    "abstract",
                    "async",
                    "modification",
                    "documentation",
                    "defaultLibrary"
                ],
                "formats": [
                    "relative"
                ],
                "requests": {
                    "range": true,
                    "full": {
                        "delta": true
                    }
                },
                "multilineTokenSupport": false,
                "overlappingTokenSupport": false,
                "serverCancelSupport": true,
                "augmentsSyntaxTokens": true
            },
            "linkedEditingRange": {
                "dynamicRegistration": true
            },
            "typeHierarchy": {
                "dynamicRegistration": true
            },
            "inlineValue": {
                "dynamicRegistration": true
            },
            "inlayHint": {
                "dynamicRegistration": true,
                "resolveSupport": {
                    "properties": [
                        "tooltip",
                        "textEdits",
                        "label.tooltip",
                        "label.location",
                        "label.command"
                    ]
                }
            },
            "diagnostic": {
                "dynamicRegistration": true,
                "relatedDocumentSupport": false
            }
        },
        "window": {
            "showMessage": {
                "messageActionItem": {
                    "additionalPropertiesSupport": true
                }
            },
            "showDocument": {
                "support": true
            },
            "workDoneProgress": true
        },
        "general": {
            "staleRequestSupport": {
                "cancel": true,
                "retryOnContentModified": [
                    "textDocument/semanticTokens/full",
                    "textDocument/semanticTokens/range",
                    "textDocument/semanticTokens/full/delta"
                ]
            },
            "regularExpressions": {
                "engine": "ECMAScript",
                "version": "ES2020"
            },
            "markdown": {
                "parser": "marked",
                "version": "1.1.0"
            },
            "positionEncodings": [
                "utf-16"
            ]
        },
        "notebookDocument": {
            "synchronization": {
                "dynamicRegistration": true,
                "executionSummarySupport": true
            }
        }
    },
    "initializationOptions": {
        "bundles": [
            "/home/cay/.vscode-oss/extensions/vscjava.vscode-java-debug-0.55.0-universal/server/com.microsoft.java.debug.plugin-0.50.0.jar"
        ],
        "workspaceFolders": [
            "file:///home/cay/projects/versuchspersonendatenbank-backend"
        ],
        "settings": {
            "java": {
                "home": "/usr/lib/jvm/java-11-openjdk-amd64",
                "jdt": {
                    "ls": {
                        "java": {
                            "home": null
                        },
                        "vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -Xlog:disable",
                        "lombokSupport": {
                            "enabled": true
                        },
                        "protobufSupport": {
                            "enabled": true
                        },
                        "androidSupport": {
                            "enabled": false
                        }
                    }
                },
                "errors": {
                    "incompleteClasspath": {
                        "severity": "warning"
                    }
                },
                "configuration": {
                    "checkProjectSettingsExclusions": false,
                    "updateBuildConfiguration": "interactive",
                    "maven": {
                        "userSettings": null,
                        "globalSettings": null,
                        "notCoveredPluginExecutionSeverity": "warning",
                        "defaultMojoExecutionAction": "ignore"
                    },
                    "workspaceCacheLimit": 90,
                    "runtimes": [
                        {
                            "name": "JavaSE-11",
                            "path": "/usr/lib/jvm/java-11-openjdk-amd64"
                        }
                    ],
                    "detectJdksAtStart": true
                },
                "trace": {
                    "server": "verbose"
                },
                "import": {
                    "maven": {
                        "enabled": true,
                        "offline": {
                            "enabled": false
                        },
                        "disableTestClasspathFlag": false
                    },
                    "gradle": {
                        "enabled": true,
                        "wrapper": {
                            "enabled": true
                        },
                        "version": null,
                        "home": null,
                        "java": {
                            "home": null
                        },
                        "offline": {
                            "enabled": false
                        },
                        "arguments": null,
                        "jvmArguments": null,
                        "user": {
                            "home": null
                        },
                        "annotationProcessing": {
                            "enabled": true
                        }
                    },
                    "exclusions": [
                        "**/node_modules/**",
                        "**/.metadata/**",
                        "**/archetype-resources/**",
                        "**/META-INF/maven/**"
                    ],
                    "generatesMetadataFilesAtProjectRoot": false
                },
                "maven": {
                    "downloadSources": false,
                    "updateSnapshots": false
                },
                "eclipse": {
                    "downloadSources": false
                },
                "referencesCodeLens": {
                    "enabled": false
                },
                "signatureHelp": {
                    "enabled": true,
                    "description": {
                        "enabled": false
                    }
                },
                "implementationsCodeLens": {
                    "enabled": false
                },
                "format": {
                    "enabled": true,
                    "settings": {
                        "url": "file:///data/cay/bin/cay-eclipse.formatter.xml",
                        "profile": "cay"
                    },
                    "comments": {
                        "enabled": true
                    },
                    "onType": {
                        "enabled": true
                    },
                    "insertSpaces": true,
                    "tabSize": 4
                },
                "saveActions": {
                    "organizeImports": false
                },
                "project": {
                    "referencedLibraries": [
                        "lib/**/*.jar"
                    ],
                    "importOnFirstTimeStartup": "automatic",
                    "importHint": true,
                    "resourceFilters": [
                        "node_modules",
                        "\\.git"
                    ],
                    "encoding": "ignore"
                },
                "contentProvider": {
                    "preferred": null
                },
                "autobuild": {
                    "enabled": true
                },
                "maxConcurrentBuilds": 1,
                "recommendations": {
                    "dependency": {
                        "analytics": {
                            "show": true
                        }
                    }
                },
                "completion": {
                    "maxResults": 0,
                    "enabled": true,
                    "guessMethodArguments": "insertBestGuessedArguments",
                    "favoriteStaticMembers": [
                        "org.junit.Assert.*",
                        "org.junit.Assume.*",
                        "org.junit.jupiter.api.Assertions.*",
                        "org.junit.jupiter.api.Assumptions.*",
                        "org.junit.jupiter.api.DynamicContainer.*",
                        "org.junit.jupiter.api.DynamicTest.*",
                        "org.mockito.Mockito.*",
                        "org.mockito.ArgumentMatchers.*",
                        "org.mockito.Answers.*"
                    ],
                    "filteredTypes": [
                        "java.awt.*",
                        "com.sun.*",
                        "sun.*",
                        "jdk.*",
                        "org.graalvm.*",
                        "io.micrometer.shaded.*"
                    ],
                    "importOrder": [
                        "#",
                        "java",
                        "javax",
                        "org",
                        "com",
                        ""
                    ],
                    "postfix": {
                        "enabled": true
                    },
                    "chain": {
                        "enabled": false
                    },
                    "matchCase": "firstLetter",
                    "lazyResolveTextEdit": {
                        "enabled": true
                    }
                },
                "foldingRange": {
                    "enabled": true
                },
                "codeGeneration": {
                    "hashCodeEquals": {
                        "useJava7Objects": false,
                        "useInstanceof": false
                    },
                    "useBlocks": false,
                    "generateComments": false,
                    "toString": {
                        "template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]",
                        "codeStyle": "STRING_CONCATENATION",
                        "skipNullValues": false,
                        "listArrayContents": true,
                        "limitElements": 0
                    },
                    "insertionLocation": "afterCursor"
                },
                "selectionRange": {
                    "enabled": true
                },
                "showBuildStatusOnStart": {
                    "enabled": "notification"
                },
                "server": {
                    "launchMode": "Hybrid"
                },
                "sources": {
                    "organizeImports": {
                        "starThreshold": 99,
                        "staticStarThreshold": 99
                    }
                },
                "imports": {
                    "gradle": {
                        "wrapper": {
                            "checksums": []
                        }
                    }
                },
                "templates": {
                    "fileHeader": [],
                    "typeComment": []
                },
                "references": {
                    "includeAccessors": true,
                    "includeDecompiledSources": true
                },
                "typeHierarchy": {
                    "lazyLoad": false
                },
                "settings": {
                    "url": null
                },
                "symbols": {
                    "includeSourceMethodDeclarations": false
                },
                "quickfix": {
                    "showAt": "line"
                },
                "inlayHints": {
                    "parameterNames": {
                        "enabled": "literals",
                        "exclusions": []
                    }
                },
                "codeAction": {
                    "sortMembers": {
                        "avoidVolatileChanges": true
                    }
                },
                "compile": {
                    "nullAnalysis": {
                        "nonnull": [
                            "javax.annotation.Nonnull",
                            "org.eclipse.jdt.annotation.NonNull",
                            "org.springframework.lang.NonNull"
                        ],
                        "nullable": [
                            "javax.annotation.Nullable",
                            "org.eclipse.jdt.annotation.Nullable",
                            "org.springframework.lang.Nullable"
                        ],
                        "mode": "interactive"
                    }
                },
                "cleanup": {
                    "actionsOnSave": []
                },
                "sharedIndexes": {
                    "enabled": "auto",
                    "location": ""
                },
                "refactoring": {
                    "extract": {
                        "interface": {
                            "replace": true
                        }
                    }
                },
                "edit": {
                    "validateAllOpenBuffersOnChanges": false,
                    "smartSemicolonDetection": {
                        "enabled": false
                    }
                },
                "editor": {
                    "reloadChangedSources": "ask"
                },
                "debug": {
                    "logLevel": "warn",
                    "settings": {
                        "showHex": false,
                        "showStaticVariables": false,
                        "showQualifiedNames": false,
                        "showLogicalStructure": true,
                        "showToString": true,
                        "maxStringLength": 0,
                        "numericPrecision": 0,
                        "hotCodeReplace": "manual",
                        "enableRunDebugCodeLens": true,
                        "forceBuildBeforeLaunch": true,
                        "onBuildFailureProceed": false,
                        "console": "integratedTerminal",
                        "exceptionBreakpoint": {
                            "exceptionTypes": [],
                            "allowClasses": [],
                            "skipClasses": []
                        },
                        "stepping": {
                            "skipClasses": [],
                            "skipSynthetics": false,
                            "skipStaticInitializers": false,
                            "skipConstructors": false
                        },
                        "jdwp": {
                            "limitOfVariablesPerJdwpRequest": 100,
                            "requestTimeout": 3000,
                            "async": "auto"
                        },
                        "vmArgs": "",
                        "debugSupportOnDecompiledSource": "on"
                    }
                },
                "silentNotification": false,
                "telemetry": {
                    "enabled": false
                }
            }
        },
        "extendedClientCapabilities": {
            "classFileContentsSupport": true,
            "overrideMethodsPromptSupport": true,
            "hashCodeEqualsPromptSupport": true,
            "advancedOrganizeImportsSupport": true,
            "generateToStringPromptSupport": true,
            "advancedGenerateAccessorsSupport": true,
            "generateConstructorsPromptSupport": true,
            "generateDelegateMethodsPromptSupport": true,
            "advancedExtractRefactoringSupport": true,
            "inferSelectionSupport": [
                "extractMethod",
                "extractVariable",
                "extractField"
            ],
            "moveRefactoringSupport": true,
            "clientHoverProvider": true,
            "clientDocumentSymbolProvider": true,
            "gradleChecksumWrapperPromptSupport": true,
            "advancedIntroduceParameterRefactoringSupport": true,
            "actionableRuntimeNotificationSupport": true,
            "onCompletionItemSelectedCommand": "editor.action.triggerParameterHints",
            "extractInterfaceSupport": true,
            "advancedUpgradeGradleSupport": true,
            "executeClientCommandSupport": true
        },
        "triggerFiles": [
            "file:///tmp/test/Test10.java"
        ]
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///home/cay/projects/versuchspersonendatenbank-backend",
            "name": "versuchspersonendatenbank-backend"
        }
    ]
}

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2023-11-06 17:16     ` Cay Horstmann
@ 2023-11-18  8:40       ` Eli Zaretskii
  2023-11-18  9:36         ` João Távora
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-11-18  8:40 UTC (permalink / raw)
  To: joaotavora, Cay Horstmann; +Cc: 66726

> Date: Mon, 6 Nov 2023 18:16:01 +0100
> From: Cay Horstmann <cay@horstmann.com>
> Cc: 66726@debbugs.gnu.org
> 
> > Cay, is there some kind of jtdls error log where it reports
> > things?  Can you also attach the Eglot stderr buffer, in case
> > it has something useful?  Use `M-x eglot-stderr-buffer`.
> > 
> > The only thing that seems to be missing is the Emacs version,
> > but I'll assume it's the version used in M-x report-emacs-bug
> > itself, which is 29.1.
> > 
> > João
> 
> Hello, here is another stab at this.
> 
> * There is no problem with that funny looking file:/// URL. jdtls can find it when invoked from VS Code and lsp-mode.
> 
> * I attach the initialization that happens from VS Code. It looks just like the one that I am setting up in eglot. Look at the path initializationOptions.settings.java.format.settings.
> 
> Formatting works fine in VS Code. The logs show requests such as this one:
> 
> [Trace - 3:51:32 PM] Sending request 'textDocument/formatting - (71)'.
> Params: {
>      "textDocument": {
>          "uri": "file:///tmp/test/NotHelloWorld.java"
>      },
>      "options": {
>          "tabSize": 4,
>          "insertSpaces": true
>      }
> }
> 
> These look just like the ones that eglot sends. But the response is a formatting directive that follows the formatter, whereas with eglot, the response is a directive that follows some default.
> 
> * Here is the requested eglot-stderr-buffer:
> 
> WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign
> Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
> INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
> Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
> INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
> 
> * Yes, it is Emacs 29.1.
> 
> * The jdtls logs are a mystery to me. According to https://github.com/eclipse-jdtls/eclipse.jdt.ls/issues/752#issuecomment-412275314,
> 
> "Should be in workspace/.metadata/.log, workspace location is a parameter you pass when starting the server."
> 
> Who is "you"? I suppose the client, i.e. eglot or VS Code. I find files such as
> 
> ./eglot-java-eclipse-jdt-cache/a397d9cc217eb5e87ff722051c2f059b/.metadata/.log
> 
> but they don't contain any info on today's interactions. There is no other directory in that cache. I can tell from that log that the directory was passed as a --data command-line argument. But when I intercept jdtls today via a script to log the command-line args, there is no --data command-line argument passed when invoking jdtls.

João?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2023-11-18  8:40       ` Eli Zaretskii
@ 2023-11-18  9:36         ` João Távora
  2024-01-07  9:39           ` Cay Horstmann
  0 siblings, 1 reply; 8+ messages in thread
From: João Távora @ 2023-11-18  9:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 66726, Cay Horstmann

On Sat, Nov 18, 2023 at 8:40 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Date: Mon, 6 Nov 2023 18:16:01 +0100
> > From: Cay Horstmann <cay@horstmann.com>
> > Cc: 66726@debbugs.gnu.org
> >
> > > Cay, is there some kind of jtdls error log where it reports
> > > things?  Can you also attach the Eglot stderr buffer, in case
> > > it has something useful?  Use `M-x eglot-stderr-buffer`.
> > >
> > > The only thing that seems to be missing is the Emacs version,
> > > but I'll assume it's the version used in M-x report-emacs-bug
> > > itself, which is 29.1.
> > >
> > > João
> >
> > Hello, here is another stab at this.
> >
> > * There is no problem with that funny looking file:/// URL. jdtls can find it when invoked from VS Code and lsp-mode.
> >
> > * I attach the initialization that happens from VS Code. It looks just like the one that I am setting up in eglot. Look at the path initializationOptions.settings.java.format.settings.
> >
> > Formatting works fine in VS Code. The logs show requests such as this one:
> >
> > [Trace - 3:51:32 PM] Sending request 'textDocument/formatting - (71)'.
> > Params: {
> >      "textDocument": {
> >          "uri": "file:///tmp/test/NotHelloWorld.java"
> >      },
> >      "options": {
> >          "tabSize": 4,
> >          "insertSpaces": true
> >      }
> > }
> >
> > These look just like the ones that eglot sends. But the response is a formatting directive that follows the formatter, whereas with eglot, the response is a directive that follows some default.
> >
> > * Here is the requested eglot-stderr-buffer:
> >
> > WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign
> > Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
> > INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
> > Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
> > INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
> >
> > * Yes, it is Emacs 29.1.
> >
> > * The jdtls logs are a mystery to me. According to https://github.com/eclipse-jdtls/eclipse.jdt.ls/issues/752#issuecomment-412275314,
> >
> > "Should be in workspace/.metadata/.log, workspace location is a parameter you pass when starting the server."
> >
> > Who is "you"? I suppose the client, i.e. eglot or VS Code. I find files such as
> >
> > ./eglot-java-eclipse-jdt-cache/a397d9cc217eb5e87ff722051c2f059b/.metadata/.log
> >
> > but they don't contain any info on today's interactions. There is no other directory in that cache. I can tell from that log that the directory was passed as a --data command-line argument. But when I intercept jdtls today via a script to log the command-line args, there is no --data command-line argument passed when invoking jdtls.
>
> João?

The way I see it, this seems to be mostly a Jdtls problem, with lots
of Java world infrastructure details.

We'd need someone with Elisp and Java expertise (and respective
toolchains) to reproduce this, and I only have the former.

Can, since you do program Java, can you try to attach a debugger
or do some printf debugging or follow the code paths in Jdtls
to see why it  isn't using the "file:///data/cay/bin/cay-eclipse.formatter.xml"
file that (as we've already established) Eglot is sending it
(or at least attempting to send)?

Anway I'll give it a shot using a VM I sed for reproducing a Tramp/Eglot
problem a while ago.  No promises though, the setup overhead
is large here.

João





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2023-11-18  9:36         ` João Távora
@ 2024-01-07  9:39           ` Cay Horstmann
  2024-01-08 11:37             ` João Távora
  0 siblings, 1 reply; 8+ messages in thread
From: Cay Horstmann @ 2024-01-07  9:39 UTC (permalink / raw)
  To: João Távora, Eli Zaretskii; +Cc: 66726



On 18/11/2023 16.36, João Távora wrote:
> On Sat, Nov 18, 2023 at 8:40 AM Eli Zaretskii <eliz@gnu.org> wrote:
>>
>>> Date: Mon, 6 Nov 2023 18:16:01 +0100
>>> From: Cay Horstmann <cay@horstmann.com>
>>> Cc: 66726@debbugs.gnu.org
>>>
>>>> Cay, is there some kind of jtdls error log where it reports
>>>> things?  Can you also attach the Eglot stderr buffer, in case
>>>> it has something useful?  Use `M-x eglot-stderr-buffer`.
>>>>
>>>> The only thing that seems to be missing is the Emacs version,
>>>> but I'll assume it's the version used in M-x report-emacs-bug
>>>> itself, which is 29.1.
>>>>
>>>> João
>>>
>>> Hello, here is another stab at this.
>>>
>>> * There is no problem with that funny looking file:/// URL. jdtls can find it when invoked from VS Code and lsp-mode.
>>>
>>> * I attach the initialization that happens from VS Code. It looks just like the one that I am setting up in eglot. Look at the path initializationOptions.settings.java.format.settings.
>>>
>>> Formatting works fine in VS Code. The logs show requests such as this one:
>>>
>>> [Trace - 3:51:32 PM] Sending request 'textDocument/formatting - (71)'.
>>> Params: {
>>>       "textDocument": {
>>>           "uri": "file:///tmp/test/NotHelloWorld.java"
>>>       },
>>>       "options": {
>>>           "tabSize": 4,
>>>           "insertSpaces": true
>>>       }
>>> }
>>>
>>> These look just like the ones that eglot sends. But the response is a formatting directive that follows the formatter, whereas with eglot, the response is a directive that follows some default.
>>>
>>> * Here is the requested eglot-stderr-buffer:
>>>
>>> WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign
>>> Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
>>> INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
>>> Nov 06, 2023 4:20:36 PM org.apache.aries.spifly.BaseActivator log
>>> INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
>>>
>>> * Yes, it is Emacs 29.1.
>>>
>>> * The jdtls logs are a mystery to me. According to https://github.com/eclipse-jdtls/eclipse.jdt.ls/issues/752#issuecomment-412275314,
>>>
>>> "Should be in workspace/.metadata/.log, workspace location is a parameter you pass when starting the server."
>>>
>>> Who is "you"? I suppose the client, i.e. eglot or VS Code. I find files such as
>>>
>>> ./eglot-java-eclipse-jdt-cache/a397d9cc217eb5e87ff722051c2f059b/.metadata/.log
>>>
>>> but they don't contain any info on today's interactions. There is no other directory in that cache. I can tell from that log that the directory was passed as a --data command-line argument. But when I intercept jdtls today via a script to log the command-line args, there is no --data command-line argument passed when invoking jdtls.
>>
>> João?
> 
> The way I see it, this seems to be mostly a Jdtls problem, with lots
> of Java world infrastructure details.
> 
> We'd need someone with Elisp and Java expertise (and respective
> toolchains) to reproduce this, and I only have the former.
> 
> Can, since you do program Java, can you try to attach a debugger
> or do some printf debugging or follow the code paths in Jdtls
> to see why it  isn't using the "file:///data/cay/bin/cay-eclipse.formatter.xml"
> file that (as we've already established) Eglot is sending it
> (or at least attempting to send)?
> 
> Anway I'll give it a shot using a VM I sed for reproducing a Tramp/Eglot
> problem a while ago.  No promises though, the setup overhead
> is large here.
> 
> João

I was asked to reference the discussion on https://github.com/joaotavora/eglot/discussions/1222#discussioncomment-7683229

I reported that

(remove-hook 'eglot-connect-hook 'eglot-signal-didChangeConfiguration)

makes the formatter work. João Távora commented that this prevents Eglot from atomatically sending project-specific configuration to *any* server.

I am unsure what the effects of that would be, but I gather from João's comment that it is not an acceptable solution.

Cay

-- 

--

Cay S. Horstmann | http://horstmann.com | mailto:cay@horstmann.com





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#66726: 29.1; Eglot jdtls formatter ignored
  2024-01-07  9:39           ` Cay Horstmann
@ 2024-01-08 11:37             ` João Távora
  0 siblings, 0 replies; 8+ messages in thread
From: João Távora @ 2024-01-08 11:37 UTC (permalink / raw)
  To: Cay Horstmann; +Cc: 66726, Eli Zaretskii

On Sun, Jan 7, 2024 at 9:40 AM Cay Horstmann <cay@horstmann.com> wrote:

> I was asked to reference the discussion on https://github.com/joaotavora/eglot/discussions/1222#discussioncomment-7683229

Yes, thank you for doing so.

> I reported that
>
> (remove-hook 'eglot-connect-hook 'eglot-signal-didChangeConfiguration)
>
> makes the formatter work. João Távora commented that this prevents Eglot from atomatically sending project-specific configuration to *any* server.
>
> I am unsure what the effects of that would be, but I gather from João's comment that it is not an acceptable solution.

It might not be acceptable for all users, yes.  It may be acceptable for you.

Here's a summary of this issue as I understand it:

1. jdtls's support for custom formatters can be achieved by passing suitable
   LSP :initializationOptions

2. According to you, jtdls's support for custom formatters _cannot_
   be achieved with LSP workspaceConfiguration.  It _has_ to use 1.

3. In jdtls, a blank LSP workspaceConfiguration request overwrites any
   settings passed in LSP initializationOptions.  This was confirmed
   by more than one user, I think.

2 and 3 dictate that, barring any changes on the jdtls side, the only
way to use custom formatters in Eglot is for Eglot to not send
LSP workspaceConfiguration to this server at all.  Has jdtls been made
aware of this conflict between 2 and 3?

You may also want to try the less intrusive:

(add-hook 'java-mode-hook (lambda ()
   (remove-hook 'eglot-connect-hook 'eglot-signal-didChangeConfiguration t))

To do it just for java-mode.  If you're using java-ts-mode, you need a similar
incantation, unless some java-base-mode exists (it exists for some Emacs
modes, not sure if Java)

João





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-01-08 11:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-24  9:17 bug#66726: 29.1; Eglot jdtls formatter ignored Cay Horstmann
2023-10-29 12:08 ` Eli Zaretskii
2023-10-29 14:40   ` João Távora
2023-11-06 17:16     ` Cay Horstmann
2023-11-18  8:40       ` Eli Zaretskii
2023-11-18  9:36         ` João Távora
2024-01-07  9:39           ` Cay Horstmann
2024-01-08 11:37             ` João Távora

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).