Sublime Text 2/3 style auto completion for ST4

Overview

Hippie Autocompletion

Sublime Text 2/3 style auto completion for ST4: cycle through words, do not show popup. Simply hit Tab to insert completion, hit Tab again if you don't like it.

Features:

  • fuzzy search
  • supports multiple cursors
  • expands abbreviations into combined_words for snake, mixed and camel case
  • prioritizes previously chosen completions
  • current view words go before other views words

TODO:

  • prefer words closer to cursor?
  • take into account scope/language word defined vs we are editing
  • better support for multiple cursors, i.e. if primers differ
  • obey word_separators setting to parse words
  • shift+tab to cycle back? backspace to cancel?

Started from discussion here and based on sketch by LightsOut8008.

Comments
  • Make the

    Make the "global" word list a list by "window"

    Really having all words in the box is probably a mistake as it is a) a wildly large list and b) it suggests really not available tokens from other projects.

    opened by kaste 6
  • Make the

    Make the "global" word list a list by "window" and refine score

    Really having all words in the box is probably a mistake as it is a) a wildly large list and b) it suggests really not available tokens from other projects.

    Refine fuzzy_score

    • Give matches at the start 2 extra points
    • Do not give penalty for consecutive matching characters (!)

    The higher the score the unlikely we suggest it. So we could as well say the score is a "penalty". For consecutive matches, we still payed "1" (as in pos - prev); we remove here.

    This is WIP as in this commit message consectuv<TAB> will not suggest "consecutive". ST was always able to fix simple typos as well.

    Other than that this algorithm mostly suggests what ST suggests on alt-space in the same order.

    opened by kaste 6
  • Fix: Allow completing in the middle of a word

    Fix: Allow completing in the middle of a word

    Following ST, you can ask for completion being inside of a word. In that case primer is the region from the start of the word to the cursor.

    For example, consider you have this

        if ch == "A":
    

    and want to add another condition at the beginning, | denoting the cursor:

    		if sc|ch == "A":
    

    Pressing tab should now for example expand to

    		if score|ch == "A":
    
    opened by kaste 1
  • Reimplement

    Reimplement "history" as a map from abbrevation to expanded word

    Following the behavior of ST found in for example the Command Palette, we persist a mapping from abbrevation to the expanded word. This makes completing (or "expanding") very predictable and programmable for the end-user.

    opened by kaste 0
  • Do not bind for

    Do not bind for "read_only" views

    In "read_only" views the side effect of "editing the view" doesn't work anyway; grabbing tab prevents for example GitSavvy to work properly on some its special views.

    opened by kaste 0
  • Auto completion problem

    Auto completion problem

    I have just updated sublime text into latest version. I have also install phpfmt plugin.

    Now i feel that , at before, while i type h1 then tab button , it will generate the full form like this : < h1 >< /h1>.but it won't right now. I need to press h1 then tab and then Enter .

    How can i solve this problem/how can i back to the previous functionality in latest version ?

    Thanks.

    opened by RaisulislamRimon 1
Owner
Alexander Schepanovski
Alexander Schepanovski
[x]it! support for working with todo and check list files in Sublime Text

[x]it! for Sublime Text This Sublime Package provides syntax-highlighting, shortcuts, and auto-completions for [x]it! files. Features Syntax highlight

Jan Heuermann 18 Sep 19, 2022
Context-free grammar to Sublime-syntax file

Generate a sublime-syntax file from a non-left-recursive, follow-determined, context-free grammar

Haggai Nuchi 8 Nov 17, 2022
Reproducible nvim completion framework benchmarks.

Nvim.Bench Reproducible nvim completion framework benchmarks. Runs inside Docker. Fair and balanced Methodology Note: for all "randomness", they are g

i love my dog 14 Nov 20, 2022
Socorro is the Mozilla crash ingestion pipeline. It accepts and processes Breakpad-style crash reports. It provides analysis tools.

Socorro Socorro is a Mozilla-centric ingestion pipeline and analysis tools for crash reports using the Breakpad libraries. Support This is a Mozilla-s

Mozilla Services 552 Dec 19, 2022
Heisenbridge a bouncer-style Matrix IRC bridge

Heisenbridge brings IRC to Matrix by creating an environment where every user connects to each network individually like they would with a traditional IRC bouncer

Toni Spets 152 Dec 28, 2022
Open source style Deep Dream project

DeepDream ⚠️ If you don't have a gpu with cuda, the style transfer execution time will be much longer Prerequisites Python >=3.8.10 How to Install sud

Patrick martins de lima 7 May 17, 2022
Paimon is a pixie (or script) who was made for anyone from {EPITECH} who are struggling with the Coding Style.

Paimon Paimon is a pixie (or script) who was made for anyone from {EPITECH} who are struggling with the Coding Style. Her goal is to assist you in you

Lyy 2 Oct 17, 2021
A module to develop and apply old-style links

Old-Linkage-Dev (OLD) Old Linkage Development is a module to develop and apply old-style links. Old-style links stand for some traditional or conventi

Tarcadia 2 Dec 4, 2021
WordPress-style shortcodes for Python

Python Shortcodes WordPress-style shortcodes for Python Create and use WordPress-style shortcodes in your Python based app. Example # static output de

Bob 1 Dec 22, 2021
Generates images with semantic content from distribution A in the style of distribution B

A2B Generates images with semantic content from distribution A in the style of d

Richard Herbert 2 Dec 27, 2021
SpellingBeeSolver - This program generates solutions to NYT style spelling bee problems.

SpellingBeeSolver This program generates solutions to NYT style spelling bee problems. The initial version of this program is being written in Python

null 1 Jan 1, 2022
A Python Web Application for Checking vaccine slots by pincodes and auto slot booking.

The Dashboard is developed using Bokeh and python 3.5+. This dashboard is useful for you if you are looking for something which will help you to book the vaccine slot once slots become available. Other Vaccine Finders will notify you once slots become available but you will still need to login to the portal and book the slot manually. This dashboard will look for slot availability continuously and will send the OTP itself once slots become available.

Suraj Deshmukh 10 Jan 23, 2022
- Auto join teams teams ( from calendar invite )

Auto Join Teams Meetings Requirements: Python 3.7 or higher Latest Google Chrome This script automatically logins to your account and joins the meetin

Prajin Khadka 10 Aug 20, 2022
🪄 Auto-generate Streamlit UI from Pydantic Models and Dataclasses.

Streamlit Pydantic Auto-generate Streamlit UI elements from Pydantic models. Getting Started • Documentation • Support • Report a Bug • Contribution •

Lukas Masuch 103 Dec 25, 2022
《赛马娘》(ウマ娘: Pretty Derby)辅助 🐎🖥 基于 auto-derby 可视化操作/设置 启动器 一键包

ok-derby 《赛马娘》(ウマ娘: Pretty Derby)辅助 ?? ?? 基于 auto-derby 可视化操作/设置 启动器 一键包 便捷,好用的 auto_derby 管理器! 功能 支持客户端 DMM (前台) 实验性 安卓 ADB 连接(后台)开发基于 1080x1920 分辨率

秋葉あんず 90 Jan 1, 2023
creates a batch file that uses adb to auto-install apks into the Windows Subsystem for Android and registers it as the default application to open apks.

wsa-apktool creates a batch file that uses adb to auto-install apks into the Windows Subsystem for Android and registers it as the default application

Aditya Vikram 3 Apr 5, 2022
A turtlebot auto controller allows robot to autonomously explore environment.

A turtlebot auto controller allows robot to autonomously explore environment.

Yuliang Zhong 1 Nov 10, 2021
Final Fantasy XIV Auto House Clicker

Final Fantasy XIV Auto House Clicker

KanameS 0 Mar 31, 2022
A python script for osu!lazer rulesets auto update.

osu-lazer-rulesets-autoupdater A python script for osu!lazer rulesets auto update. How to use: 如何使用: You can refer to the python script. The begining

null 3 Jul 26, 2022