| 250 | |
| 251 | |
| 252 | def BuildRequestDataForLocation( file : str, line : int, column : int ): |
| 253 | buffer_number = vimsupport.GetBufferNumberForFilename( |
| 254 | file, |
| 255 | create_buffer_if_needed = True ) |
| 256 | try: |
| 257 | vim.eval( f'bufload( "{ file }" )' ) |
| 258 | except vim.error as e: |
| 259 | if 'E325' not in str( e ): |
| 260 | raise |
| 261 | buffer = vim.buffers[ buffer_number ] |
| 262 | file_data = vimsupport.GetUnsavedAndSpecifiedBufferData( buffer, file ) |
| 263 | return { |
| 264 | 'filepath': file, |
| 265 | 'line_num': line, |
| 266 | 'column_num': column, |
| 267 | 'working_dir': GetCurrentDirectory(), |
| 268 | 'file_data': file_data |
| 269 | } |
| 270 | |
| 271 | |
| 272 | def _JsonFromFuture( future ): |