Mercurial > hg
view hgext/infinitepush/indexapi.py @ 43664:bde66eb4051d
histedit: render a rolled up description using the proper roll colours
Users have rightfully complained that the old behaviour of completely
removing the description of a rolled commit makes it difficult to
remember what was in that commit. Instead, we now render the removed
description in red.
I couldn't think of a simpler way to do this. You can't just combine
existing curses colours into new effects; only secondary effects like
bold or underline can be logically OR'ed to generate a combined text
effect. It seems easier to just redundantly keep track of what the
roll colour should be.
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Wed, 30 Oct 2019 19:19:57 -0400 |
parents | 2372284d9457 |
children | 89a2afe31e82 |
line wrap: on
line source
# Infinite push # # Copyright 2016 Facebook, Inc. # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import class indexapi(object): """Class that manages access to infinitepush index. This class is a context manager and all write operations (like deletebookmarks, addbookmark etc) should use `with` statement: with index: index.deletebookmarks(...) ... """ def __init__(self): """Initializes the metadata store connection.""" def close(self): """Cleans up the metadata store connection.""" def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): pass def addbundle(self, bundleid, nodesctx): """Takes a bundleid and a list of node contexts for each node in that bundle and records that.""" raise NotImplementedError() def addbookmark(self, bookmark, node): """Takes a bookmark name and hash, and records mapping in the metadata store.""" raise NotImplementedError() def addmanybookmarks(self, bookmarks): """Takes a dict with mapping from bookmark to hash and records mapping in the metadata store.""" raise NotImplementedError() def deletebookmarks(self, patterns): """Accepts list of bookmarks and deletes them. """ raise NotImplementedError() def getbundle(self, node): """Returns the bundleid for the bundle that contains the given node.""" raise NotImplementedError() def getnode(self, bookmark): """Returns the node for the given bookmark. None if it doesn't exist.""" raise NotImplementedError() def getbookmarks(self, query): """Returns bookmarks that match the query""" raise NotImplementedError() def saveoptionaljsonmetadata(self, node, jsonmetadata): """Saves optional metadata for a given node""" raise NotImplementedError() class indexexception(Exception): pass