{"action":"created","issue":{"url":"https://api.github.com/repos/manastech/crystal/issues/1682","labels_url":"https://api.github.com/repos/manastech/crystal/issues/1682/labels{/name}","comments_url":"https://api.github.com/repos/manastech/crystal/issues/1682/comments","events_url":"https://api.github.com/repos/manastech/crystal/issues/1682/events","html_url":"https://github.com/manastech/crystal/issues/1682","id":109627014,"number":1682,"title":"[RFC] Adopt elastic tabstops in the style guide and code.","user":{"login":"technorama","id":51043,"avatar_url":"https://avatars.githubusercontent.com/u/51043?v=3","gravatar_id":"","url":"https://api.github.com/users/technorama","html_url":"https://github.com/technorama","followers_url":"https://api.github.com/users/technorama/followers","following_url":"https://api.github.com/users/technorama/following{/other_user}","gists_url":"https://api.github.com/users/technorama/gists{/gist_id}","starred_url":"https://api.github.com/users/technorama/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technorama/subscriptions","organizations_url":"https://api.github.com/users/technorama/orgs","repos_url":"https://api.github.com/users/technorama/repos","events_url":"https://api.github.com/users/technorama/events{/privacy}","received_events_url":"https://api.github.com/users/technorama/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/manastech/crystal/labels/draft","name":"draft","color":"00B8B8"},{"url":"https://api.github.com/repos/manastech/crystal/labels/RFC","name":"RFC","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":30,"created_at":"2015-10-03T15:11:13Z","updated_at":"2015-10-04T20:36:34Z","closed_at":null,"body":"Using elastic tabstops would solve a number of problems with existing programming styles that rely on spaces for indentation.\r\n\r\n* Proportional fonts can be used just like books, web, email, and everywhere else except programming.\r\n* Proportional fonts are easier to read making it easier to recognize words/identifiers.\r\n* Manual, editor, or auto formatter indentation changes are unnecessary.\r\n* Indentation changes won't mess up commits by modifying nearby lines when variable lengths change.\r\n* Tabs were always meant to be indent.  8 space tabs are a relic from IBM printers.\r\n* Personalize viewing.  Each person can choose how much indentation they want to see (I prefer more).\r\n* Formatting tools are easier to implement (#309).  They don't have to count variable names on multiple lines in order to align them.\r\n* Go and the linux kernel use them.\r\n\r\nSpaces hold back progress (like proportional fonts).  Future programs and languages are likely to adopt elastic tabstops once most programmers get past the resistance to change.  Changes in style and formatting can be easily changed now.  There are few projects using crystal.  \r\n\r\nPlease read the following article before commenting: http://nickgravgaard.com/elastic-tabstops/\r\nAdditional reading: http://lea.verou.me/2012/01/why-tabs-are-clearly-superior/"},"comment":{"url":"https://api.github.com/repos/manastech/crystal/issues/comments/145385525","html_url":"https://github.com/manastech/crystal/issues/1682#issuecomment-145385525","issue_url":"https://api.github.com/repos/manastech/crystal/issues/1682","id":145385525,"user":{"login":"ysbaddaden","id":47380,"avatar_url":"https://avatars.githubusercontent.com/u/47380?v=3","gravatar_id":"","url":"https://api.github.com/users/ysbaddaden","html_url":"https://github.com/ysbaddaden","followers_url":"https://api.github.com/users/ysbaddaden/followers","following_url":"https://api.github.com/users/ysbaddaden/following{/other_user}","gists_url":"https://api.github.com/users/ysbaddaden/gists{/gist_id}","starred_url":"https://api.github.com/users/ysbaddaden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ysbaddaden/subscriptions","organizations_url":"https://api.github.com/users/ysbaddaden/orgs","repos_url":"https://api.github.com/users/ysbaddaden/repos","events_url":"https://api.github.com/users/ysbaddaden/events{/privacy}","received_events_url":"https://api.github.com/users/ysbaddaden/received_events","type":"User","site_admin":false},"created_at":"2015-10-04T20:36:34Z","updated_at":"2015-10-04T20:36:34Z","body":"No, the Gedit plugin is broken. VIM and Emacs have no plan to implement this anytime soon. The SublimeText plugin implementation is wrong. CLI tools (cat, grep and alikes) don't support them, and don't even allow to specify the tab width, which kills the \"I can use the indentation I like\" argument, ..."}}