omtcyf0 updated this revision to Diff 63054. omtcyf0 marked 5 inline comments as done.
http://reviews.llvm.org/D22087 Files: clang-rename/tool/clang-rename.py Index: clang-rename/tool/clang-rename.py =================================================================== --- /dev/null +++ clang-rename/tool/clang-rename.py @@ -0,0 +1,60 @@ +''' +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 + + map ,cf :pyf <path-to>/clang-include-fixer.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 ',cf'. You will be promted a new name if the +cursor points to a valid symbol. +''' + +import vim +import subprocess + + +def main(): + binary = 'clang-rename' + if vim.eval('exists("g:clang_rename_path")') == "1": + binary = vim.eval('g:clang_rename') + + # 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?' + 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 sterr: + print stderr + + # Reload all buffers in Vim. + vim.command("bufdo edit") + + +if __name__ == '__main__': + main()
Index: clang-rename/tool/clang-rename.py =================================================================== --- /dev/null +++ clang-rename/tool/clang-rename.py @@ -0,0 +1,60 @@ +''' +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 + + map ,cf :pyf <path-to>/clang-include-fixer.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 ',cf'. You will be promted a new name if the +cursor points to a valid symbol. +''' + +import vim +import subprocess + + +def main(): + binary = 'clang-rename' + if vim.eval('exists("g:clang_rename_path")') == "1": + binary = vim.eval('g:clang_rename') + + # 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?' + 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 sterr: + print stderr + + # Reload all buffers in Vim. + vim.command("bufdo edit") + + +if __name__ == '__main__': + main()
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits