@@ -225,20 +225,33 @@ build:
225225
226226CODE_CPANM =$(shell type cpm >/dev/null 2>&1 && echo "cpm install" || echo "cpanm --installdeps .")
227227CODE_WORKSPACES_DIR =$(abspath ${MAKEFILE_DIR}/..)
228-
229- code-generate-workspace :
230- echo ' {"folders":[' > ${CODE_WORKSPACES_DIR} /mt.code-workspace
231- for d in ` ls ..` ; do \
232- printf ' %s%s%s' ' {"path":"' $$ d ' "},' >> ${CODE_WORKSPACES_DIR} /mt.code-workspace; \
228+ CODE_DIR =${MAKEFILE_DIR}/.code
229+ CODE_CODE_WORKSPACE_FILE =${CODE_DIR}/mt.code-workspace
230+
231+ code-init :
232+ mkdir -p ${CODE_DIR}
233+
234+ LIBS =$(shell \
235+ find .. -maxdepth 4 -type d \
236+ \( -name 'lib' -o -name 'extlib' \) \
237+ -not -path '*/node_modules/*' \
238+ -not -path '*/bower_components/*' \
239+ -not -path '*/local/*' \
240+ -not -path '*/.*/*' \
241+ | sed -e 's/^..\///' | grep -v 'movabletype-patches')
242+ code-generate-workspace : code-init
243+ echo ' {"folders":[' > ${CODE_CODE_WORKSPACE_FILE}
244+ for d in ` echo ${LIBS} | perl -pe ' s/\/\S+//g; s/ /\\n/g' | sort -u` ; do \
245+ printf ' %s%s%s' ' {"path":"' ${CODE_WORKSPACES_DIR} /$$ d ' "},' >> ${CODE_CODE_WORKSPACE_FILE} ; \
233246 done
234- echo ' ],"settings":{"perlnavigator.includePaths":["${MAKEFILE_DIR}/.perl- local/lib/perl5",' >> ${CODE_WORKSPACES_DIR} /mt.code-workspace
235- for d in ` find .. -maxdepth 4 -type d -name ' lib ' -or -name ' extlib ' | sed -e ' s/^..// ' ` ; do \
236- printf ' %s%s%s' ' "' ${CODE_WORKSPACES_DIR} /$$ d ' ",' >> ${CODE_WORKSPACES_DIR} /mt.code-workspace ; \
247+ echo ' ],"settings":{"perlnavigator.includePaths":["${CODE_DIR}/ local/lib/perl5",' >> ${CODE_CODE_WORKSPACE_FILE}
248+ for d in ${LIBS} ; do \
249+ printf ' %s%s%s' ' "' ${CODE_WORKSPACES_DIR} /$$ d ' ",' >> ${CODE_CODE_WORKSPACE_FILE} ; \
237250 done
238- echo ' ]}' >> ${CODE_WORKSPACES_DIR} /mt.code-workspace
251+ echo ' ]}' >> ${CODE_CODE_WORKSPACE_FILE}
239252
240- code-cpanm-install :
241- cd ` ls -d ../* movabletype/t | head -n 1` && ${CODE_CPANM} -L${MAKEFILE_DIR} /.perl- local || true
253+ code-cpanm-install : code-init
254+ cd ` ls -d ../* movabletype/t | head -n 1` && ${CODE_CPANM} -L${CODE_DIR} / local || true
242255
243256code-open-workspace : code-cpanm-install code-generate-workspace
244- code ../mt.code-workspace
257+ code ${CODE_CODE_WORKSPACE_FILE}
0 commit comments