- ''' 
- Minimal clang-rename integration with Vim. 
-   
- Before installing make sure one of the following is satisfied: 
-   
- * clang-rename is in your PATH 
- * `g:clang_rename_path` in ~/.vimrc points to valid clang-rename executable 
- * `binary` in clang-rename.py points to valid to clang-rename executable 
-   
- To install, simply put this into your ~/.vimrc for python2 support 
-   
-     noremap <leader>cr :pyf <path-to>/clang-rename.py<cr> 
-   
- For python3 use the following command (note the change from :pyf to :py3f) 
-   
-     noremap <leader>cr :py3f <path-to>/clang-rename.py<cr> 
-   
- IMPORTANT NOTE: Before running the tool, make sure you saved the file. 
-   
- All you have to do now is to place a cursor on a variable/function/class which 
- you would like to rename and press '<leader>cr'. You will be prompted for a new 
- name if the cursor points to a valid symbol. 
- ''' 
-   
- from __future__ import absolute_import, division, print_function 
- import vim 
- import subprocess 
- import sys 
-   
- def main(): 
-     binary = 'clang-rename' 
-     if vim.eval('exists("g:clang_rename_path")') == "1": 
-         binary = vim.eval('g:clang_rename_path') 
-   
-     # Get arguments for clang-rename binary. 
-     offset = int(vim.eval('line2byte(line("."))+col(".")')) - 2 
-     if offset < 0: 
-         print('Couldn\'t determine cursor position. Is your file empty?', 
-               file=sys.stderr) 
-         return 
-     filename = vim.current.buffer.name 
-   
-     new_name_request_message = 'type new name:' 
-     new_name = vim.eval("input('{}\n')".format(new_name_request_message)) 
-   
-     # Call clang-rename. 
-     command = [binary, 
-                filename, 
-                '-i', 
-                '-offset', str(offset), 
-                '-new-name', str(new_name)] 
-     # FIXME: make it possible to run the tool on unsaved file. 
-     p = subprocess.Popen(command, 
-                          stdout=subprocess.PIPE, 
-                          stderr=subprocess.PIPE) 
-     stdout, stderr = p.communicate() 
-   
-     if stderr: 
-         print(stderr) 
-   
-     # Reload all buffers in Vim. 
-     vim.command("checktime") 
-   
-   
- if __name__ == '__main__': 
-     main() 
-