from ribosome.machine import message Commit = message('Commit', varargs='projects') CommitCurrent = message('CommitCurrent') HistorySwitch = message('HistorySwitch', 'index') HistorySwitchFile = message('HistorySwitchFile', 'path', 'id') HistoryPrev = message('HistoryPrev') HistoryNext = message('HistoryNext') HistoryBufferPrev = message('HistoryBufferPrev') HistoryBufferNext = message('HistoryBufferNext') HistoryStatus = message('HistoryStatus') HistoryLog = message('HistoryLog') HistoryBrowse = message('HistoryBrowse') HistoryFileBrowse = message('HistoryBrowse', opt_fields=(('path', ''),)) HistoryBrowseInput = message('HistoryBrowseInput', 'keyseq') HistoryPick = message('HistoryPick', 'index') HistoryRevert = message('HistoryRevert', 'index') Redraw = message('Redraw') QuitBrowse = message('QuitBrowse', 'buffer') ExecPick = message('ExecPick', 'commit', 'executor', 'status') RevertAbort = message('ExecPick', 'project', 'executor', 'status')
from fn import _ from ribosome.machine import may_handle, message from ribosome.nvim import Buffer from amino import List, Empty from amino.lazy import lazy from proteome.state import ProteomeComponent, ProteomeTransitions from proteome.ctags import Ctags from proteome.plugins.core import Save, Added, BufEnter, StageIV Gen = message('Gen', 'project') GenAll = message('GenAll') Kill = message('Kill') CurrentBuffer = message('CurrentBuffer') class CtagsTransitions(ProteomeTransitions): @property def ctags(self) -> Ctags: return self.machine.ctags # type: ignore @property def _tags_file_name(self): return '.tags' @may_handle(StageIV) def stage_4(self): return GenAll(), CurrentBuffer()
from toolz import dicttoolz from ribosome.machine import may_handle, message from proteome.state import ProteomeComponent Do = message('Do', 'msg') class Plugin(ProteomeComponent): _data_type = dict @property def title(self): return 'test_plug' @may_handle(Do) def doit(self, env: dict, msg): return dicttoolz.merge(env, {msg.msg: msg.msg}) __all__ = ['Plugin']
HistorySwitchFile, CommitCurrent) from proteome.plugins.history.data import History, HistoryT, HistoryState from proteome.plugins.history.process import HistoryGit from proteome.plugins.history.patch import Patch class BrowseState(Record): repo = field(Repo) current = field(int) commits = lazy_list_field() buffer = field(ScratchBuffer) selected = dfield(0) path = maybe_field(Path) Init = message('Init') class BrowseTransitions(ProteomeTransitions): @property def buffer(self): return self.data.buffer.proxy @lazy def content(self): sel = self.data.selected return List.wrap(enumerate(self.data.commits[:sel + 20]))\ .flat_smap(lambda i, a: a.browse_format(i == sel)) @property
from ribosome.machine import message, json_message StageI = message('StageI') StageII = message('StageII') StageIII = message('StageIII') StageIV = message('StageIV') Add = message('Add', 'project') RemoveByIdent = message('RemoveByIdent', 'ident') Create = message('Create', 'name', 'root') Next = message('Next') Prev = message('Prev') SetProject = message('SetProject', 'ident') SetProjectIdent = message('SetProjectIdent', 'ident') SetProjectIndex = message('SetProjectIndex', 'index') SwitchRoot = message('SwitchRoot', opt_fields=(('notify', True),)) Save = message('Save') Added = message('Added', 'project') Removed = message('Removed', 'project') ProjectChanged = message('ProjectChanged', 'project') BufEnter = message('BufEnter', 'buffer') Initialized = message('Initialized') MainAdded = message('MainAdded') Show = message('Show', varargs='names') AddByParams = json_message('AddByParams', 'ident') CloneRepo = json_message('CloneRepo', 'uri') __all__ = ('StageI', 'StageII', 'StageIII', 'StageIV', 'Add', 'RemoveByIdent', 'Create', 'Next', 'Prev', 'SetProject', 'SetProjectIdent', 'SetProjectIndex', 'SwitchRoot', 'Save', 'Added', 'Removed', 'ProjectChanged', 'BufEnter', 'Initialized', 'MainAdded', 'Show', 'AddByParams', 'CloneRepo')