52
52
53
53
local function get_hovered_node ()
54
54
local hovered_line = vim .api .nvim_win_get_cursor (jd .view .winnr )[1 ]
55
- local node = jd .state .outline_items [hovered_line ]
55
+ local node = jd .state .flattened_outline_items [hovered_line ]
56
56
return node
57
57
end
58
58
92
92
93
93
local function get_hover_params (node , winnr )
94
94
local bufnr = vim .api .nvim_win_get_buf (winnr )
95
- local uri = vim .uri_from_bufnr (bufnr )
96
-
95
+ -- local uri = vim.uri_from_bufnr(bufnr)
97
96
return {
98
- textDocument = { uri = uri },
99
- position = { line = node .line , character = node .character },
97
+ node = node ,
100
98
bufnr = bufnr ,
101
99
}
102
100
end
@@ -111,37 +109,54 @@ local function update_hover()
111
109
return
112
110
end
113
111
114
- local provider = _G ._java_deps_outline_current_provider
115
- local params = get_hover_params (node , jd .state .code_win )
116
-
117
- provider .hover_info (params .bufnr , params , function (err , result )
118
- if err then
119
- print (vim .inspect (err ))
112
+ local content
113
+ if node .metaData and node .metaData [" maven.groupId" ] then
114
+ content = " ```xml\n <dependency>\n "
115
+ .. " \t <groupId>"
116
+ .. node .metaData [" maven.groupId" ]
117
+ .. " </groupId>\n "
118
+ .. " \t <artifactId>"
119
+ .. node .metaData [" maven.artifactId" ]
120
+ .. " </artifactId>\n "
121
+ .. " \t <version>"
122
+ .. node .metaData [" maven.version" ]
123
+ .. " </version>\n "
124
+
125
+ if node .metaData [" maven.scope" ] then
126
+ content = content .. " \t <scope>" .. node .metaData [" maven.scope" ] .. " </scope>\n "
120
127
end
121
- local markdown_lines = {}
122
- if result ~= nil then
123
- markdown_lines = vim .lsp .util .convert_input_to_markdown_lines (result .contents )
124
- end
125
- markdown_lines = vim .lsp .util .trim_empty_lines (markdown_lines )
126
- if vim .tbl_isempty (markdown_lines ) then
127
- markdown_lines = { " ###No info available!" }
128
+ if node .metaData [" maven.optionaldependency" ] then
129
+ content = content .. " \t <options>" .. node .metaData [" maven.optionaldependency" ] .. " </options>\n "
128
130
end
131
+ content = content .. " </dependency>\n ```"
132
+ else
133
+ return
134
+ end
129
135
130
- markdown_lines = vim .lsp .util .stylize_markdown (state .hover_buf , markdown_lines , {})
136
+ local mdstring = {
137
+ { kind = " markdown" , value = content },
138
+ { kind = " markdown" , value = " [" .. node .name .. " ](" .. node .path .. " )" },
139
+ }
140
+ local markdown_lines = vim .lsp .util .convert_input_to_markdown_lines (mdstring )
141
+ markdown_lines = vim .lsp .util .trim_empty_lines (markdown_lines )
142
+ if vim .tbl_isempty (markdown_lines ) then
143
+ markdown_lines = { " ###No info available!" }
144
+ end
131
145
132
- if state .hover_buf ~= nil then
133
- vim .api .nvim_buf_set_lines (state .hover_buf , 0 , - 1 , 0 , markdown_lines )
134
- end
135
- end )
146
+ markdown_lines = vim .lsp .util .stylize_markdown (state .hover_buf , markdown_lines , {})
147
+
148
+ if state .hover_buf ~= nil then
149
+ vim .api .nvim_buf_set_lines (state .hover_buf , 0 , - 1 , 0 , markdown_lines )
150
+ end
136
151
end
137
152
138
153
local function setup_hover_buf ()
139
154
if not has_code_win () then
140
155
return
141
156
end
142
- local code_buf = vim .api .nvim_win_get_buf (jd .state .code_win )
143
- local ft = vim .api .nvim_buf_get_option (code_buf , " filetype" )
144
- vim .api .nvim_buf_set_option (state .hover_buf , " syntax" , ft )
157
+ -- local code_buf = vim.api.nvim_win_get_buf(jd.state.code_win)
158
+ -- local ft = vim.api.nvim_buf_get_option(code_buf, "filetype")
159
+ -- vim.api.nvim_buf_set_option(state.hover_buf, "syntax", "xml" )
145
160
vim .api .nvim_buf_set_option (state .hover_buf , " bufhidden" , " delete" )
146
161
vim .api .nvim_win_set_option (state .hover_win , " wrap" , true )
147
162
vim .api .nvim_win_set_option (state .hover_win , " cursorline" , false )
@@ -150,10 +165,10 @@ end
150
165
151
166
local function set_bg_hl ()
152
167
local winhi = " Normal:" .. config .options .preview_bg_highlight
153
- vim .api .nvim_win_set_option (state .preview_win , " winhighlight" , winhi )
168
+ -- vim.api.nvim_win_set_option(state.preview_win, "winhighlight", winhi)
154
169
vim .api .nvim_win_set_option (state .hover_win , " winhighlight" , winhi )
155
170
local winblend = config .options .winblend
156
- vim .api .nvim_win_set_option (state .preview_win , " winblend" , winblend )
171
+ -- vim.api.nvim_win_set_option(state.preview_win, "winblend", winblend)
157
172
vim .api .nvim_win_set_option (state .hover_win , " winblend" , winblend )
158
173
end
159
174
@@ -213,7 +228,7 @@ function M.show()
213
228
return
214
229
end
215
230
216
- show_preview ()
231
+ -- show_preview()
217
232
show_hover ()
218
233
set_bg_hl ()
219
234
end
0 commit comments