{"id":20251938,"url":"https://github.com/maximal/tab","last_synced_at":"2026-03-05T22:06:54.281Z","repository":{"id":76063711,"uuid":"17859856","full_name":"maximal/tab","owner":"maximal","description":"Supporting tabs to became an indentation standard.","archived":false,"fork":false,"pushed_at":"2015-10-15T10:20:41.000Z","size":114,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-03T06:46:56.515Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maximal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-18T09:12:52.000Z","updated_at":"2024-03-21T11:01:48.000Z","dependencies_parsed_at":"2023-03-11T21:27:32.703Z","dependency_job_id":null,"html_url":"https://github.com/maximal/tab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maximal/tab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximal%2Ftab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximal%2Ftab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximal%2Ftab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximal%2Ftab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maximal","download_url":"https://codeload.github.com/maximal/tab/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maximal%2Ftab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30152073,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T21:15:50.531Z","status":"ssl_error","status_checked_at":"2026-03-05T21:15:11.173Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T10:13:56.351Z","updated_at":"2026-03-05T22:06:54.236Z","avatar_url":"https://github.com/maximal.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Sorry guys, but I have to.\n\n * * *\n\nTabs advantages:\n\n * Tabs are _designed to be_ an indentation character. They are _semantically correct_.\n * Tabs can be configured to have different width.\n * Tabs keep source code size _meaningful_, not exaggerating characters count by 4 times with meaningless whitespace characters. With tabs, 5k file, say, is 4k source and 1k whitespace. With spaces, 5k file is 1-2 source and 4-3 k whitespace.\n * Many IDEs do the smart-tabbing _automatically_, making this approach transparent and clean.\n\nSpaces advantages:\n\n * Code looks the same in different editors.\n * Any more? (Disregarding that they are standard, only logical and usability points).\n\nSpaces has become a standard, yes. But that was strictly because people were unable to use tabs properly. That was 30-, 20-, 10-years-ago problem. But why are people unable to use tabs now, when IDEs are mighty?\n\nThe less we use tabs, the less chances they have to become standard. People now are just afraid to use them. It means that standard needs to be reviewed.\n\nTabs-vs-spaces is not a holy war, it’s a confrontation between logic/reason and majority.\n\nI just want reason to become majority and standard.\n\n\n * * *\n\n\nLet’s be logical.\n\nThe most reasonable indentation style out there is SmartTabs: indentation with tabs, alignment with spaces.\nIt is useful, state-of-the-art and logically right: you can change tab size and alignment doesn’t break anywhere.\nMany modern IDEs and editors support this approach.\n\nhttp://www.emacswiki.org/SmartTabs\n\nBut now, _vast majority_ of people are _afraid_ to use smart tabs even though it is very reasonable approach. Just because spaces are PSR-2 standard.\n\nFor example, see discussion of Yii2 framework, which switched to spaces recently:\nyiisoft/yii2#2747.\n\nI agree, that framework in any given language, probably, should use current standard for this language.\nBut why does unreasonable standard remain real then?\n\nSpaces-only indentation is relic of the past, when people didn’t use (or didn’t know about) smart-tabs indentation.\nNow all people follow space-standard just to follow it, without any semantic reason.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximal%2Ftab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaximal%2Ftab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximal%2Ftab/lists"}