FM తో ఏకీకృత ఫార్మాటర్
ప్రాజెక్ట్ యొక్క GitHub రిపాజిటరీ
సమస్య
నా కోడ్ అందంగా మరియు క్రమబద్ధంగా కనిపించడాన్ని నేను ఇష్టపడతాను, అందుకే నేను ఫార్మాటర్లకు అభిమానిని. అయితే, IDEలు ఫార్మాటింగ్ను నిర్వహించే విధానం చాలా గందరగోళంగా మరియు అయోమయంగా ఉండటం నాకు నచ్చదు, అలాగే నేను నా కోడ్లో చాలా భాగాన్ని Vim ద్వారా టెర్మినల్లో రాస్తాను. కొంతకాలంగా, ఫైల్ మార్గం లేదా డైరెక్టరీ మార్గాన్ని అందించడానికి అనుమతించే, నేను అందించిన మొత్తం కంటెంట్ను ఫార్మాట్ చేసే ఫార్మాటర్ అయిన ఒక కమాండ్-లైన్ సాధనం కోసం చూస్తున్నాను. అంటే, నేను ఒక డైరెక్టరీని అందిస్తే, అది ఆ డైరెక్టరీలోని అన్ని ఫైళ్లను ఫార్మాట్ చేయాలి మరియు అందించిన డైరెక్టరీలో ఏదైనా .gitignore ఫైల్(లు) కనిపిస్తే వాటిని గౌరవించాలి. నేను కొంతకాలం పరిష్కారం కోసం వెతికాను, కానీ ఏదీ కనుగొనలేకపోయాను.
పరిష్కారం
దీని కారణంగా, అలాగే ఈ సమస్యకు ప్రతిస్పందనగా, నేను ForMatter లేదా సంక్షిప్తంగా fm అనే కమాండ్-లైన్ సాధనాన్ని అభివృద్ధి చేశాను. ఇది ప్రస్తుతం ప్రారంభ అభివృద్ధి దశలో ఉంది మరియు వివిధ ప్రాజెక్టుల్లోని స్క్రిప్ట్లను ఫార్మాట్ చేయడానికి రూపొందించబడింది. IDEపై ఆధారపడటంతో పోలిస్తే, ఈ సాధనం ఫార్మాటింగ్పై మరింత నియంత్రణను అందిస్తుంది. ఇది ఇంకా అభివృద్ధిలో ఉన్నప్పటికీ, పూర్తిగా ఉపయోగించదగినదే! మీరు సహకరించడానికి ఆసక్తి కలిగి ఉంటే, రిపాజిటరీని ఫోర్క్ చేసి, ఒక పుల్ రిక్వెస్ట్ సమర్పించడానికి సంకోచించకండి.
రూపకల్పన
fm Bash స్క్రిప్ట్లో రాయబడింది మరియు నేపథ్యంలో ఈ క్రింది లైబ్రరీలు/ఫార్మాటర్లను ఉపయోగిస్తుంది: shfmt, black, Prettier, & ClangFormat. ఈ లైబ్రరీలు/ఫార్మాటర్లతో, fm ఈ క్రింది ఫార్మాట్లకు మద్దతు ఇస్తుంది: .py, .sh, .bash, .dash, .ksh, .js, .jsx, .ts, .tsx, .json, .md, .html, .css, .yml, .yaml, .graphql, .vue, .scss, .less, .c, .cpp, .h, .hpp, .m, .mm, & .java
ముగింపు
నేను నా వ్యక్తిగత వ్యవస్థలో fmను విస్తృతంగా ఉపయోగిస్తున్నాను, అలాగే నేను పనిచేసే అనేక మంది సహకారులు లేదా భాగస్వాములు కూడా దీనిని ఉపయోగిస్తున్నారు. అందుకే నేను దీనిని ఓపెన్-సోర్స్ చేశాను. ఇది చాలా ఉపయోగకరమైనదని, నిజమైన విలువను అందించగలదని నేను భావిస్తున్నాను; అందువల్ల ప్రపంచం మొత్తం దీనిని ఉపయోగించగలగాలని కోరుకుంటున్నాను. ఇది తెలిసిన తరువాత, ఇప్పుడే GitHubలో fmను చూడండి!