def get_new_from_buffer_args(): """Gets args for new_from_buffer: The paste language""" buff = lisp.read_buffer('Buffer to paste: ', lisp.current_buffer(), True) lang = read_language() return [buff, lang]
def _save_buffers(self, only_current=False): ask = lisp['ropemacs-confirm-saving'].value() initial = lisp.current_buffer() current_buffer = lisp.current_buffer() if only_current: buffers = [current_buffer] else: buffers = lisp.buffer_list() for buffer in buffers: filename = lisp.buffer_file_name(buffer) if filename: if self._is_python_file(filename) and \ lisp.buffer_modified_p(buffer): if not ask or lisp.y_or_n_p('Save %s buffer?' % filename): lisp.set_buffer(buffer) lisp.save_buffer() lisp.set_buffer(initial)
def save_files(self, filenames): ask = self.get('confirm_saving') initial = lisp.current_buffer() for filename in filenames: buffer = lisp.find_buffer_visiting(filename) if buffer: if lisp.buffer_modified_p(buffer): if not ask or lisp.y_or_n_p('Save %s buffer?' % filename): lisp.set_buffer(buffer) lisp.save_buffer() lisp.set_buffer(initial)
def _hide_buffer(self, name, delete=True): buffer = lisp.get_buffer(name) if buffer is not None: window = lisp.get_buffer_window(buffer) if window is not None: lisp.bury_buffer(buffer) if delete: lisp.delete_window(window) else: if lisp.buffer_name(lisp.current_buffer()) == name: lisp.switch_to_buffer(None)
def insert_in_other_buffer(bufname, text): """Creates/erases a buffer with the given name, opens it in a separate visible pane, and pastes the given text into it.""" lisp.get_buffer_create(bufname) lisp.display_buffer(bufname, 1) old_buf = lisp.current_buffer() lisp.set_buffer(bufname) lisp.erase_buffer() lisp.insert(text) lisp.set_buffer(old_buf)
def promptCallback(filename,line,colbegin,colend): let = Let().push_excursion() # gets popped when let goes out of scope buffer = lisp.current_buffer() if let: ans = 0 lisp.find_file(filename) lisp.goto_line(line) lisp.move_to_column(colbegin) lisp.set_mark(lisp.point() + (colend - colbegin)) if is_xemacs: lisp.activate_region() ans = lisp.y_or_n_p("Couldn't deduce object type - rename this method reference? ") del let lisp.switch_to_buffer(buffer) return ans
def promptCallback(filename, line, colbegin, colend): let = Let().push_excursion() # gets popped when let goes out of scope buffer = lisp.current_buffer() if let: ans = 0 lisp.find_file(filename) lisp.goto_line(line) lisp.move_to_column(colbegin) lisp.set_mark(lisp.point() + (colend - colbegin)) if is_xemacs: lisp.activate_region() ans = lisp.y_or_n_p( "Couldn't deduce object type - rename this method reference? ") del let lisp.switch_to_buffer(buffer) return ans
def reload_files(self, filenames, moves={}): if self.filename() in moves: initial = None else: initial = lisp.current_buffer() for filename in filenames: buffer = lisp.find_buffer_visiting(filename) if buffer: if filename in moves: lisp.kill_buffer(buffer) lisp.find_file(moves[filename]) else: lisp.set_buffer(buffer) lisp.revert_buffer(False, True) if initial is not None: lisp.set_buffer(initial)
def _reload_buffers_for_changes(self, changed_resources, moved_resources={}): if self._get_resource() in moved_resources: initial = None else: initial = lisp.current_buffer() for resource in changed_resources: buffer = lisp.find_buffer_visiting(str(resource.real_path)) if buffer: if resource.exists(): lisp.set_buffer(buffer) lisp.revert_buffer(False, True) elif resource in moved_resources: new_resource = moved_resources[resource] lisp.kill_buffer(buffer) lisp.find_file(new_resource.real_path) if initial is not None: lisp.set_buffer(initial)
def pop_mark(self): marker_ring = self.get('marker_ring') if lisp.ring_empty_p(marker_ring): self.message("There are no more marked buffers in \ the rope-marker-ring") else: oldbuf = lisp.current_buffer() marker = lisp.ring_remove(marker_ring, 0) marker_buffer = lisp.marker_buffer(marker) if marker_buffer is None: lisp.message("The marked buffer has been deleted") return marker_point = lisp.marker_position(marker) lisp.set_buffer(marker_buffer) lisp.goto_char(marker_point) #Kill that marker so it doesn't slow down editing. lisp.set_marker(marker, None, None) if not lisp.eq(oldbuf, marker_buffer): lisp.switch_to_buffer(marker_buffer)
def qualified_module_name(buffer=None): """ Determine the qualified name of the python module which is currently edited in the given ``buffer``. If unset, ``buffer`` defaults to the current buffer. If the buffer has no associated filename, this function returns None. """ if not buffer: buffer = lisp.current_buffer() if isinstance(buffer, basestring): buffer = lisp.get_buffer(buffer) if buffer is None: lisp.error('No such buffer: %s', buffername) filename = lisp.buffer_file_name(buffer) if filename is None: return None filepath = os.path.normpath(os.path.abspath(filename)) modules = [] modname = os.path.basename(os.path.splitext(filepath)[0]) if modname != '__init__': modules.append(modname) directory = os.path.dirname(filepath) parent = os.path.dirname(directory) while directory != parent: if not is_package(directory): break pkgname = os.path.basename(directory) modules.append(pkgname) directory = parent parent = os.path.dirname(directory) modules.reverse() return '.'.join(modules)