本文整理汇总了Python中sublime.PhantomSet方法的典型用法代码示例。如果您正苦于以下问题:Python sublime.PhantomSet方法的具体用法?Python sublime.PhantomSet怎么用?Python sublime.PhantomSet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sublime
的用法示例。
在下文中一共展示了sublime.PhantomSet方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def __init__(self, component: Union[span, div], view: sublime.View, region: sublime.Region, layout: int = sublime.LAYOUT_INLINE) -> None:
super().__init__(component, view)
self.cachedPhantom = None #type: Optional[sublime.Phantom]
self.region = region
self.layout = layout
self.view = view
self.set = sublime.PhantomSet(self.view)
Phantom.id += 1
# we use the region to track where we should place the new phantom so if text is inserted the phantom will be redrawn in the correct place
self.region_id = 'phantom_{}'.format(Phantom.id)
self.view.add_regions(self.region_id, [self.region], flags=sublime.DRAW_NO_FILL)
self.update()
_renderables_add.append(self)
示例2: show
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def show(view, marker, as_phantom=False):
"Displays Emmet abbreviation as a preview for given view"
content = None
buffer_id = view.buffer_id()
try:
content = format_snippet(marker.preview())
except Exception as e:
content = '<div class="error">%s</div>' % format_snippet(str(e))
if content:
if as_phantom:
if buffer_id not in phantom_sets_by_buffer:
phantom_set = sublime.PhantomSet(view, 'emmet')
phantom_sets_by_buffer[buffer_id] = phantom_set
else:
phantom_set = phantom_sets_by_buffer[buffer_id]
r = sublime.Region(marker.region.end(), marker.region.end())
phantoms = [sublime.Phantom(r, phantom_content(content), sublime.LAYOUT_INLINE)]
phantom_set.update(phantoms)
elif not view.is_popup_visible() or previews_by_buffer.get(buffer_id, None) != marker.abbreviation:
previews_by_buffer[buffer_id] = marker.abbreviation
view.show_popup(popup_content(content), sublime.COOPERATE_WITH_AUTO_COMPLETE, marker.region.begin(), 400, 300)
示例3: display_previews
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def display_previews(view, previews, pt=-1, current_index=0):
global phantom_sets_by_buffer
buffer_id = view.buffer_id()
if (
buffer_id in phantom_sets_by_buffer
and pt != phantom_sets_by_buffer[buffer_id][1]
):
return
preview_html, preview_regions = generate_previews(previews, current_index)
on_navigate = get_on_navigate(view, previews, current_index, pt)
view.add_regions(
"cfml_method_preview",
merge_regions(preview_regions),
"source",
flags=sublime.DRAW_NO_FILL,
)
phantom_set = sublime.PhantomSet(view, "cfml_method_preview")
phantom_sets_by_buffer[buffer_id] = (phantom_set, pt)
phantom = sublime.Phantom(
view.line(pt), preview_html, sublime.LAYOUT_BLOCK, on_navigate
)
phantom_set.update([phantom])
示例4: show_tag_preview
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def show_tag_preview(view: sublime.View, pt: int, text: str, dest: int):
"Displays given tag preview at `pt` location"
buffer_id = view.buffer_id()
if buffer_id not in phantoms_by_buffer:
phantom_set = sublime.PhantomSet(view, phantom_key)
phantoms_by_buffer[buffer_id] = phantom_set
else:
phantom_set = phantoms_by_buffer[buffer_id]
r = sublime.Region(pt, pt)
nav = lambda href: go_to_pos(view, int(href))
phantoms = [sublime.Phantom(r, phantom_content(text, dest), sublime.LAYOUT_INLINE, on_navigate=nav)]
phantom_set.update(phantoms)
示例5: mark
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def mark(self, view: sublime.View):
"Marks tracker in given view"
scope = emmet.get_settings('marker_scope', 'region.accent')
mark_opt = sublime.DRAW_SOLID_UNDERLINE | sublime.DRAW_NO_FILL | sublime.DRAW_NO_OUTLINE
view.erase_regions(ABBR_REGION_ID)
view.add_regions(ABBR_REGION_ID, [self.region], scope, '', mark_opt)
if self.forced:
phantoms = [sublime.Phantom(self.region, forced_indicator('⋮>'), sublime.LAYOUT_INLINE)]
if not self.forced_indicator:
self.forced_indicator = sublime.PhantomSet(view, ABBR_REGION_ID)
self.forced_indicator.update(phantoms)
示例6: mark
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def mark(editor: sublime.View, tracker: AbbreviationTracker):
"Marks tracker in given view"
scope = get_settings('marker_scope', 'region.accent')
mark_opt = sublime.DRAW_SOLID_UNDERLINE | sublime.DRAW_NO_FILL | sublime.DRAW_NO_OUTLINE
editor.erase_regions(ABBR_REGION_ID)
editor.add_regions(ABBR_REGION_ID, [tracker.region], scope, '', mark_opt)
if isinstance(tracker, AbbreviationTrackerValid) and tracker.forced:
phantoms = [
sublime.Phantom(tracker.region, forced_indicator('⋮>'), sublime.LAYOUT_INLINE)
]
key = editor.id()
if key not in _forced_indicator:
_forced_indicator[key] = sublime.PhantomSet(editor, ABBR_REGION_ID)
_forced_indicator[key].update(phantoms)
示例7: on_load_async
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def on_load_async(self, markdown_view):
infos = markdown_view.settings().get(MARKDOWN_VIEW_INFOS)
if not infos:
return
preview_view = markdown_view.window().active_view_in_group(1)
self.phantom_sets[markdown_view.id()] = sublime.PhantomSet(preview_view)
self._update_preview(markdown_view)
示例8: phantom_set
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def phantom_set(self) -> sublime.PhantomSet:
return color_phantoms_by_view.setdefault(self.view.id(), sublime.PhantomSet(self.view, "lsp_color"))
示例9: __init__
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def __init__(self, window: sublime.Window) -> None:
self._window = window
self._last_phantom_set = None # type: 'Optional[sublime.PhantomSet]'
示例10: apply_phantom
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def apply_phantom(self, view: sublime.View, diagnostic: Diagnostic) -> None:
phantom_set = sublime.PhantomSet(view, "lsp_diagnostics")
phantom = self.create_phantom(view, diagnostic)
phantom_set.update([phantom])
view.show_at_center(phantom.region)
self._last_phantom_set = phantom_set
has_phantom = view.settings().get('lsp_diagnostic_phantom')
if not has_phantom:
view.settings().set('lsp_diagnostic_phantom', True)
示例11: __init__
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def __init__(self, view):
super().__init__(view)
self.phantom_set = sublime.PhantomSet(self.view, PHANTOM_KEY_ALL)
self.pattern = None
示例12: __init__
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def __init__(self, view):
super().__init__(view)
self.phantom_set = sublime.PhantomSet(view, "git-blame")
示例13: show_preview
# 需要导入模块: import sublime [as 别名]
# 或者: from sublime import PhantomSet [as 别名]
def show_preview(self, view: sublime.View, as_phantom=None):
"Displays expanded preview of abbreviation in current tracker in given view"
if not emmet.get_settings('abbreviation_preview', True):
return
content = None
if as_phantom is None:
# By default, display preview for CSS abbreviation as phantom to not
# interfere with default autocomplete popup
as_phantom = self.config and self.config['type'] == 'stylesheet'
if not self.abbreviation:
# No parsed abbreviation: empty region
pass
if 'error' in self.abbreviation:
# Display error snippet
err = self.abbreviation['error']
snippet = html.escape( re.sub(r'\s+at\s\d+$', '', err['message']), False)
content = '<div class="error pointer">%s</div><div class="error message">%s</div>' % (err['pointer'], snippet)
elif self.forced or as_phantom or not self.abbreviation['simple']:
snippet = self.abbreviation['preview']
if self.config['type'] != 'stylesheet':
if syntax.is_html(self.config['syntax']):
snippet = html_highlight.highlight(snippet)
else:
snippet = html.escape(snippet, False)
content = '<div class="markup-preview">%s</div>' % format_snippet(snippet)
else:
content = format_snippet(snippet)
if not content:
self.hide_preview(view)
return
if as_phantom:
if not self._phantom_preview:
self._phantom_preview = sublime.PhantomSet(view, ABBR_PREVIEW_ID)
r = sublime.Region(self.region.end(), self.region.end())
phantoms = [sublime.Phantom(r, preview_phantom_html(content), sublime.LAYOUT_INLINE)]
self._phantom_preview.update(phantoms)
else:
self._has_popup_preview = True
view.show_popup(
preview_popup_html(content),
flags=sublime.COOPERATE_WITH_AUTO_COMPLETE,
location=self.region.begin(),
max_width=400,
max_height=300)