From e121ff3ff8c4fb8669e2080bc1268d43f4c8af16 Mon Sep 17 00:00:00 2001 From: Ryan Leckey Date: Wed, 5 Jul 2017 13:51:46 -0700 Subject: [PATCH] Revert "Implement kite promotion" This reverts commit 16c11d82b889ce1260342e4fa7d6d1905c0fde45. --- lib/kite-wrapper.js | 153 --------------------------------------- lib/main.js | 9 +-- styles/kite-wrapper.less | 120 ------------------------------ 3 files changed, 2 insertions(+), 280 deletions(-) delete mode 100644 lib/kite-wrapper.js delete mode 100644 styles/kite-wrapper.less diff --git a/lib/kite-wrapper.js b/lib/kite-wrapper.js deleted file mode 100644 index b1ff20f..0000000 --- a/lib/kite-wrapper.js +++ /dev/null @@ -1,153 +0,0 @@ -'use strict' - -const os = require('os') -const element = require('./decorators/element') -const include = require('./decorators/include') -const {EventsDelegation} = require('atom-utils') -const {CompositeDisposable} = require('atom') -const modules = [ - 'os', 'time', 're', 'sys', 'datetime', 'random', 'django', 'json', 'urllib', - 'subprocess', 'math', 'urllib2', 'logging', 'numpy', 'threading', 'shutil', - 'hashlib', 'socket', 'collections', 'copy', 'itertools', 'traceback', - 'tempfile', 'xml', 'urlparse', 'struct', 'flask', 'StringIO', 'string', - 'optparse', 'base64', 'glob', 'csv', 'requests', 'argparse', 'functools', - 'google', 'pickle', 'ConfigParser', 'matplotlib', 'simplejson', 'south', - 'uuid', 'inspect', 'sqlite3', 'cStringIO', 'operator', 'scipy', 'codecs', - 'unittest', 'pygame', 'cgi', 'getopt', 'cPickle', 'httplib', 'pprint', - 'email', 'BeautifulSoup', 'warnings', 'PIL', 'lxml', 'gtk', 'zipfile', - 'sqlalchemy', 'PyQt4', 'multiprocessing', 'smtplib', 'Queue', 'yaml', - 'twisted', 'MySQLdb', 'select', 'getpass', 'gzip', 'imp', 'ctypes', - 'platform', 'mock', 'wx', 'fnmatch', 'mimetypes', 'fabric', 'signal', - 'pymongo', 'io', 'binascii', 'nose', 'decimal', 'pylab', 'shlex', 'commands', - 'distutils', 'textwrap', 'zlib', 'md5', 'serial', 'calendar', 'hmac', - 'jinja2', 'array', 'fcntl', 'thread', 'unicodedata', 'webbrowser', - 'dateutil', 'werkzeug', 'sublime', 'bottle', 'locale', 'pkg_resources', - 'cookielib', 'gobject', 'feedparser', 'tarfile', 'web', 'nltk', 'httplib2', - 'markdown', 'xmlrpclib', 'boto', 'zope', 'redis', 'heapq', 'ast', 'pdb', - 'Tkinter', 'bisect', 'tornado', 'weakref', 'pyramid', 'psycopg2', 'Crypto', - 'difflib', 'gc', 'HTMLParser', 'gi', 'pwd', 'doctest', 'gevent', 'atexit', - 'gettext', 'networkx', 'curses', 'contextlib', 'pandas', 'exceptions', - 'stat', 'bson', 'pytz', 'sklearn', 'importlib', 'dbus', 'BaseHTTPServer', - 'pygments', 'docutils', 'selenium', 'oauth2', 'twitter', 'scrapy', 'ssl', - 'mako', 'cherrypy', 'shelve', 'paramiko', 'tweepy', 'mechanize', 'types', - 'rospy', 'cv2', 'PySide', 'parser', 'pytest', 'celery', 'posixpath', 'sha', - 'tkFileDialog', 'asyncore', 'tkMessageBox', 'xlrd', 'webob', 'win32api', - 'SocketServer', 'fileinput', 'cv', 'transaction', 'game', 'setuptools', - 'Cookie', 'tests', 'plone', 'xbmcgui', 'code', 'pycurl', 'bz2', 'ftplib', - 'IPython', 'ImageDraw', 'zmq' -] - -class KiteWrapper { - static initClass () { - include(this, EventsDelegation) - return element(this, 'kite-minimap-wrapper') - } - - static isLegible (textEditor) { - const path = textEditor.getPath() - return path && /\.py$/.test(path) && os.platform() !== 'linux' && !atom.packages.getLoadedPackage('kite') - } - - static handle (textEditor, minimapElement) { - let wrapper = new this() - wrapper.textEditor = textEditor - wrapper.minimap = minimapElement.getModel() - wrapper.minimapElement = minimapElement - wrapper.wrap(minimapElement) - } - - destroy () { - this.subscriptions.dispose() - this.observer.disconnect() - delete this.minimap - delete this.minimapElement - delete this.textEditor - this.remove() - } - - unwrap () { - this.parentNode.insertBefore(this.minimapElement, this) - this.destroy() - } - - wrap (minimapElement) { - minimapElement.parentNode.insertBefore(this, minimapElement) - - this.content = document.createElement('div') - this.appendChild(minimapElement) - this.appendChild(this.content) - - this.observer = new window.MutationObserver(() => { - this.style.cssText = minimapElement.style.cssText - this.className = minimapElement.className - }) - - this.observer.observe(minimapElement, {attributes: true}) - - this.minimap.getScreenHeight = function () { - if (this.isStandAlone()) { - if (this.height != null) { - return this.height - } else { - return this.getHeight() - } - } else { - return minimapElement.clientHeight - } - } - - this.update() - } - - update () { - let matches = [] - this.textEditor.scan(/(import|from)\s+(([\w]+(,\s)*)+)/g, (m) => { - matches = matches.concat(m.match[2].split(/,\s/g)) - }) - const links = modules.filter(m => matches.includes(m)).slice(0, 5).map(this.link) - - this.content.innerHTML = this.snippet(links.join('')) - } - - snippet (content) { - return ` - - docs - - ` - } - - link (mod) { - return `
  • ${mod}
  • ` - } - - attachedCallback () { - this.subscriptions = new CompositeDisposable() - - this.subscriptions.add(this.textEditor.onDidStopChanging(() => { - this.update() - })) - - this.subscriptions.add(this.minimap.onDidDestroy(() => { - this.destroy() - })) - - this.subscriptions.add(atom.config.observe('minimap.disablePythonDocLinks', (v) => { - if (v) { this.unwrap() } - })) - - this.subscriptions.add(this.subscribeTo(this, '.collapser', { - 'click': () => { - this.querySelector('.collapser').classList.toggle('collapse') - } - })) - - this.subscriptions.add(this.subscribeTo(this, '.icon-remove-close', { - 'click': () => { - atom.config.set('minimap.disablePythonDocLinks', true) - } - })) - } -} - -module.exports = KiteWrapper.initClass() diff --git a/lib/main.js b/lib/main.js index 7da3925..f340c60 100644 --- a/lib/main.js +++ b/lib/main.js @@ -16,7 +16,7 @@ if (!atom.inSpecMode()) { const include = require('./decorators/include') const PluginManagement = require('./mixins/plugin-management') -let Emitter, CompositeDisposable, Minimap, MinimapElement, MinimapPluginGeneratorElement, KiteWrapper +let Emitter, CompositeDisposable, Minimap, MinimapElement, MinimapPluginGeneratorElement /** * The `Minimap` package provides an eagle-eye view of text buffers. @@ -386,17 +386,12 @@ class Main { */ initSubscriptions () { this.subscriptions.add(atom.workspace.observeTextEditors((textEditor) => { - if (!KiteWrapper) { KiteWrapper = require('./kite-wrapper') } let minimap = this.minimapForEditor(textEditor) let minimapElement = atom.views.getView(minimap) this.emitter.emit('did-create-minimap', minimap) - minimapElement.attach() - if (KiteWrapper.isLegible(textEditor) && - !atom.config.get('minimap.disablePythonDocLinks')) { - KiteWrapper.handle(textEditor, minimapElement) - } + minimapElement.attach() })) } } diff --git a/styles/kite-wrapper.less b/styles/kite-wrapper.less deleted file mode 100644 index a647e3b..0000000 --- a/styles/kite-wrapper.less +++ /dev/null @@ -1,120 +0,0 @@ -@import "ui-variables"; - -atom-text-editor, html { - kite-minimap-wrapper { - display: flex; - overflow: hidden; - position: relative; - -webkit-user-select: none; - height: 100%; - order: 3; - width: 10%; - flex: 0 0 10%; - flex-direction: column; - - i.icon-remove-close { - position: absolute; - top: 10px; - right: 0px; - z-index: 2; - - &::before { - width: auto; - font-size: 0.9em; - } - } - - div { - position: relative; - } - - &.left { - order: 1; - - > div { - padding-left: 5px; - - i.icon-remove-close::before { - margin-right: 0; - } - } - } - - &.absolute { - position: absolute; - right: 0; - - atom-text-editor-minimap:not([stand-alone]) { - position: relative; - } - - &.adjust-absolute-height { - pointer-events: none; - - & > div { - pointer-events: auto; - } - } - - &.left { - position: relative; - right: initial; - order: 0; - } - } - - atom-text-editor-minimap:not([stand-alone]) { - width: 100%; - flex: 1 1 auto; - order: 0; - } - - .collapser { - cursor: pointer; - - * { - pointer-events: none; - } - - i { - height: 16px; - display: inline-block; - vertical-align: middle; - } - - i::before { - transition: transform 0.2s; - margin: 0; - line-height: 1em; - text-align: center; - } - - &.collapse { - i::before { - transform: rotate(-90deg); - } - - & + ul { - display: none; - } - } - } - - & > div { - font-size: 1em; - padding: @component-padding 0; - order: 1; - font-family: sans-serif; - - ul { - margin: 0; - padding: 0; - list-style: none - } - - a { - color: @text-color-info; - } - } - } -}